我正在为以 T 开头并以 A 结尾的单词编写正则表达式。
我写:-
^T\..*A$
但现在我想排除单词 TEA
。如何使用正则表达式排除特定单词。
最佳答案
您的 ^T\..*A$
正则表达式匹配以 T.
开头的字符串,然后有除换行符以外的任何 0+ 个字符(带有 .*
) 然后以 A
.
要匹配任何以 T
开头并以 A
结尾且不等于 TEA
的字符串,您可以使用
(?s)^(?!TEA$)T.*A$
要使其不区分大小写,请添加 i
修饰符:
(?si)^(?!TEA$)T.*A$
参见 regex demo .
详情
(?si)
- DOTALL (s
) 修饰符允许.
匹配任何字符和 IGNORECASE (i
) 使模式不区分大小写的修饰符^
- 字符串的开始(?!TEA$)
- negative lookahead如果整个字符串等于TEA
,则匹配失败
T
-T
.*
- 0+ 个字符,尽可能多A
-A
字母$
- 字符串结尾。
请注意,如果您在 matches()
方法中使用它,则可以删除第一个 ^
和最后一个 $
。
关于android - 特定字符开始和结束的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47700784/