繁体   English   中英

正则表达式匹配单词,但不匹配<或> c#

[英]regex to match word but not with < or > next to it c#

从这个字符串中:“ asdfasdf obama blahobama obama。> obama”

它不应该匹配blahobama或> obama

目前我有这个正则表达式\\ bobama \\ b

但它也找到“> obama”

我只想找到前两个“奥巴马”。

不是第三。 > obama应该找不到匹配的文件。

一个简单的选择是使用单词周围的环视符号来明确禁止<>

(?<![<>])\bobama\b(?![<>])

正则表达式Storm.net上的工作示例

同样,您可以根据需要使用Unicode类别

(?<!\p{S})\bobama\b(?!\p{S})

您可以使用字符类来组合它们,例如,也可以排除数字,而不是\\p{S}使用[\\p{S}\\p{N}]

工作实例

[^>]\bobama\b

但是,如果您要选择它,它不会选择开始一行的obama

((^)|([^>]\b))obama\b

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM