Java 如何创建一个模式来查找*.ABS的序列?
我想用Java创建一个Java 如何创建一个模式来查找*.ABS的序列?,java,regex,Java,Regex,我想用Java创建一个模式,该模式将为以下行返回true: 一些东西 hellomynameis.ABS 任何\u字符串\u或\u number.ABS 我尝试使用*.ABS作为模式,但它不起作用。首先,您需要将所有内容匹配到.ABS,因为您可以使用一个点(.),出现次数为0或更多(*量词)。然后要匹配.ABS,需要\\.ABS 您可以使用以下选项:- .*\\.ABS 当然,如果您只想匹配以.ABS结尾的字符串,那么string.endsWith将是更好的选择。这里不需要正则表达式。首先,您
模式
,该模式将为以下行返回true:
一些东西
hellomynameis.ABS
任何\u字符串\u或\u number.ABS
我尝试使用
*.ABS
作为模式,但它不起作用。首先,您需要将所有内容匹配到.ABS
,因为您可以使用一个点(.)
,出现次数为0或更多(*
量词)。然后要匹配.ABS
,需要\\.ABS
您可以使用以下选项:-
.*\\.ABS
当然,如果您只想匹配以
.ABS
结尾的字符串,那么string.endsWith
将是更好的选择。这里不需要正则表达式。首先,您需要匹配所有内容,直到.ABS
,因为您可以使用0或更多出现次数的点(.)
(*
量词)。然后要匹配.ABS
,需要\\.ABS
您可以使用以下选项:-
.*\\.ABS
当然,如果您只想匹配以
.ABS
结尾的字符串,那么string.endsWith
将是更好的选择。这里不需要正则表达式。如果只想找到以ABS
结尾的每个字符串,那么就这样做
if (line.endsWith(".ABS")) {
// do your stuff
}
或者,对于现实生活中的字符串:
if (line.trim().toUpperCase().endsWith(".ABS")) {
// do your stuff
}
如果您只想查找以
ABS
结尾的每个字符串,请执行以下操作
if (line.endsWith(".ABS")) {
// do your stuff
}
或者,对于现实生活中的字符串:
if (line.trim().toUpperCase().endsWith(".ABS")) {
// do your stuff
}
如果您使用的是
模式.matches
,则不需要正则表达式中的^
和$
锚;它仍将尝试匹配整个字符串。@TedHopp。。哦,是的。忘记了。@RohitJain不起作用(java.util.regex.PatternSyntaxException:在索引0*\\附近悬挂元字符'*'。ABS@VextoR..注意一个点(.)
在*
之前。如果您使用模式,它是*
而不仅仅是*
。匹配,您不需要正则表达式中的^
和$
锚;它无论如何都会尝试匹配整个字符串。@TedHopp..哦,是的。忘记了。@RohitJain不起作用(java.util.regex.PatternSyntaxException:在索引0*\\附近悬挂元字符'*'。ABS@VextoR..请注意*
之前的点(.)
。它是*
而不仅仅是*
尝试\w+[a][B][S]我在这方面也不好,所以我选择评论而不是评论answering@BhavikShah-您的模式有几个问题。首先,除非您退出
(否则它将匹配“CABS”)。其次,[A][B][C]
与ABC
完全相同,因此这里不需要使用字符类。更好的模式版本应该是\w+\.ABC
(或者,作为Java字符串,“\\w+\.ABC”
)。然后,OP可能希望在“.ABC”之前匹配非单词字符,因此
可能比\w
更好。最后,OP可能还希望匹配字符串“.ABC”(前面没有),因此*
可能比+
更好。请尝试\w+.[A][B][S]我在这方面也不好,所以我选择评论而不是评论answering@BhavikShah-您的模式有几个问题。首先,除非您退出
(否则它将匹配“CABS”)。其次,[A][B][C]
与ABC
完全相同,因此这里不需要使用字符类。更好的模式版本应该是\w+\.ABC
(或者,作为Java字符串,“\\w+\.ABC”
)。然后,OP可能希望在“.ABC”之前匹配非单词字符,因此
可能比\w
更好。最后,OP可能还希望匹配字符串“.ABC”(前面没有任何内容),因此,*
可能比+
更好。您在每个if
中都缺少一个右括号,这是一种特殊的Java方言,我们不需要在if块开始之前的最后一个右括号anym…errr..感谢您的更正:dyYou在每个if
中都缺少一个右括号,这是一个规范ial Java方言,我们不需要在if块anym开始之前的最后一个结束语…呃..谢谢更正:D