Android 特定字符开始和结束的正则表达式
我正在为以T开头,以A结尾的单词编写正则表达式 我写:Android 特定字符开始和结束的正则表达式,android,regex,string,Android,Regex,String,我正在为以T开头,以A结尾的单词编写正则表达式 我写: ^T\..*A$ 但是现在我想排除单词TEA。如何使用正则表达式排除特定单词。如果要从该示例中查找“TEA”和“TEEA”,则“TEA不是TEEA”。您可以尝试使用此正则表达式 Pattern p = Pattern.compile("((T|t)[A-Za-z]+(A|a))"); Matcher m = p.matcher("TEA or tea IS NOT TEEA or teea"); while(m.find()) {
^T\..*A$
但是现在我想排除单词
TEA
。如何使用正则表达式排除特定单词。如果要从该示例中查找“TEA”和“TEEA”,则“TEA不是TEEA”。您可以尝试使用此正则表达式
Pattern p = Pattern.compile("((T|t)[A-Za-z]+(A|a))");
Matcher m = p.matcher("TEA or tea IS NOT TEEA or teea");
while(m.find()) {
System.out.println(m.group(1));
}
^T\..*A$
正则表达式匹配以T.
开头的字符串,然后具有除换行符以外的任何0+字符(使用*
),然后以A
结尾
要匹配任何以T
开头并以A
结尾的字符串,该字符串不等于TEA
,您可以使用
(?s)^(?!TEA$)T.*A$
要使其不区分大小写,请添加i
修饰符:
(?si)^(?!TEA$)T.*A$
看
详细信息
-DOTALL((?si)
)修饰符,允许s
匹配任何char和IGNORECASE(
)修饰符,使模式不区分大小写i
-字符串的开头^
-如果整个字符串等于(?!TEA$)
TEA
-aT
T
-0+字符,尽可能多*
-A
字母A
-字符串结束$
请注意,如果在
matches()
方法中使用它,则可以删除第一个^
和最后一个$
。我正在为从T
开始并以A
结尾的所有单词编写正则表达式。但是tea
word必须被排除。@pkc456我编辑了我的答案。请再检查一下。