Regex 正则表达式匹配特定字符串,但仅当它不匹配时';不要以标签开头
如何匹配特定的独立术语,但前提是它不以特殊字符开头,特别是“#”或“.” 下面是我当前的正则表达式,以匹配独立术语Regex 正则表达式匹配特定字符串,但仅当它不匹配时';不要以标签开头,regex,nsregularexpression,Regex,Nsregularexpression,如何匹配特定的独立术语,但前提是它不以特殊字符开头,特别是“#”或“.” 下面是我当前的正则表达式,以匹配独立术语 (?i)\b(two three)\b 问题:检查边界似乎不考虑特殊字符。 例子 “一二三支票”✘ 匹配,但不应匹配 “一二三支票”✘ 匹配,但不应匹配 “一、二、三支票”✘ 匹配,但不应匹配 “一二三支票”✓ 正确匹配 “一二三支票”✓ 不匹配。这也是正确的 如果我的模式前面有“#”和“.”这样的字符,如何确保模式不匹配?我更喜欢黑名单特殊字符,而不是白名单字母/数字,因为
(?i)\b(two three)\b
问题:检查边界似乎不考虑特殊字符。
例子
- “一二三支票”✘ 匹配,但不应匹配
- “一二三支票”✘ 匹配,但不应匹配
- “一、二、三支票”✘ 匹配,但不应匹配
- “一二三支票”✓ 正确匹配
- “一二三支票”✓ 不匹配。这也是正确的
如果我的模式前面有“#”和“.”这样的字符,如何确保模式不匹配?我更喜欢黑名单特殊字符,而不是白名单字母/数字,因为这对非拉丁语言也很有效。如果搜索词前面有
或,则使用负查找失败:
(?i)(?<![#.])\b(two three)\b
(?i)(?
那么你想在一个单词的开头匹配一个给定的字符串吗?不必太花哨,只需匹配一行开头的空格,然后再匹配你的空格即可
`(^|[[:space:]])(two three)\b`