Android 特定字符开始和结束的正则表达式

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结尾的单词编写正则表达式

我写:

^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$

详细信息

  • (?si)
    -DOTALL(
    s
    )修饰符,允许
    匹配任何char和IGNORECASE(
    i
    )修饰符,使模式不区分大小写
  • ^
    -字符串的开头
  • (?!TEA$)
    -如果整个字符串等于
    TEA
  • T
    -a
    T
  • *
    -0+字符,尽可能多
  • A
    -
    A
    字母
  • $
    -字符串结束

请注意,如果在
matches()
方法中使用它,则可以删除第一个
^
和最后一个
$

我正在为从
T
开始并以
A
结尾的所有单词编写正则表达式。但是
tea
word必须被排除。@pkc456我编辑了我的答案。请再检查一下。