任何人都可以建议正则表达式匹配以下示例中的下划线:
test_test test[_test test_]
但不符合这个:
test[_]test
这是使用.Net正则表达式库.我正在使用这个RegEx测试仪来检查:
http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx
试试这个:
_[^\]]|[^[]_
它由_[^\]]
(下划线和非下划线]
)和[^[]_
(不是[
和下划线)的交替组成.
或者,如果您想使用环视断言来真正匹配下划线而不是周围的字符:
_(?=[^\]])|_(?<=[^[]_)
这种匹配是后面没有任何下划线]
((?=[^\]])
,积极先行),或不是由之前的任何下划线[
((?<=[^[]_)
负向后看).这可以结合到:
_(?:(?=[^\]])|(?<=[^[]_))