注意:这是关于现代正则表达口味的可能性的问题.这不是使用其他方法解决这个问题的最佳方法.它受到早期问题的启发,但不仅限于正则表达式.
在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或类似)可以:
如何将n> 0的^ nb ^ nc ^ n与PCRE匹配?
以下情况应符合:
abc
aabbcc
aaabbbccc
Run Code Online (Sandbox Code Playgroud)
以下情况不符合:
abbc
aabbc
aabbbccc
Run Code Online (Sandbox Code Playgroud)
这是我"尝试过"的东西; /^(a(?1)?b)$/gmx但这匹配n> 0的^ nb ^ n:
ab
aabb
aaabbb
Run Code Online (Sandbox Code Playgroud)
注意:这个问题是一样的这一个与语言的变化.
您可以轻松使用正则表达式来验证常规语言.我的问题是你能用它来验证一个上下文敏感的语言吗?现代正则表达式在层次结构中有多强大?
您将如何创建一个正则表达式来检查与^ nb ^ nc ^ n匹配的字符串?
以下情况应符合:
abc
aabbcc
aaabbbccc
Run Code Online (Sandbox Code Playgroud)
以下情况不符合:
abbc
aabbc
aabbbccc
Run Code Online (Sandbox Code Playgroud) 我不确定使用Regex是否可行,但我希望能够根据不同的字符限制允许的下划线数量.这是为了将疯狂的通配符限制限制为用Java编写的搜索引擎.
起始字符是字母数字.但是如果有更多的下划线而不是前面的字符,我基本上想要一个匹配.所以
BA_会很好但是BA___会匹配正则表达式并且会被踢出查询解析器.
这可能使用正则表达式吗?