注意:这是关于现代正则表达口味的可能性的问题.这不是使用其他方法解决这个问题的最佳方法.它受到早期问题的启发,但不仅限于正则表达式.
在ASCII"图像"/ art/map/string中:
....X.......
..X..X...X....
X.X...X..X.....
X....XXXXXX.....
X..XXX...........
.....X..........
..............X
..X...........X....
..X...........X....X...
....X.....
Run Code Online (Sandbox Code Playgroud)
我想找到三个简单的垂直线形式X:
X
X
X
Run Code Online (Sandbox Code Playgroud)
线条的数量在图像中是可变的,每条线条的宽度也是可变的.
使用正则表达式(PCRE/PHP,Perl,.NET或类似)可以:
众所周知,现代正则表达式实现(最值得注意的是PCRE)与常规语法的原始概念几乎没有共同之处.例如,您可以解析无上下文语法的经典示例{a n b n ; n> 0}(例如aaabbb)使用此正则表达式(演示):
~^(a(?1)?b)$~
Run Code Online (Sandbox Code Playgroud)
我的问题是:你能走多远?是否也可以使用PCRE 解析上下文敏感的语法 {a n b n c n ; n> 0}(例如aaabbbccc)?
我想.java使用正则表达式搜索文件,我想知道是否有办法检测文件中找到匹配项的哪一行.
例如,如果我查找hello与Java正则表达式的匹配,是否有一些方法告诉我匹配是在第9,15和30行找到的?