我在简化我创建的正则表达式方面遇到了麻烦:
@"^sept$|[^a-zA-Z]sept[^a-zA-Z]]|[^a-zA-Z]sept$|^sept[^a-zA-Z]"
正则表达式必须找到子串 sept ,这不是任何单词的一部分(如9月),我应该在找到单词时收到几个不同的变体,如:
七重峰
1sept
sept1
1sept1
七重峰
......等等。
在我的patthern中,我搜索了不在字母上开头/结尾的句子(所以它不是不同单词的一部分),它可以在字符串的开头/结尾。我检查了功能,它满足了我的需求,但我想知道是否有更好/更简单的方法来编写它。
答案 0 :(得分:1)
您可以通过使用边界条件的替换来加强它:
(^|[^a-zA-Z])sept($|[^a-zA-Z])
但是这也可能匹配sept
每一侧的一个角色。为避免这种情况,您可以使用外观,假设您的正则表达式支持它们:
(?<=^|[^a-zA-Z])sept(?=$|[^a-zA-Z])
答案 1 :(得分:0)
[a-zA-z0-9]*(sept|SEPT)[a-zA-z0-9]*
尝试以上正则表达式。