Java 如何在RegExp中使用^(字符串开头)
请参阅我正在进行的工作RegExpJava 如何在RegExp中使用^(字符串开头),java,regex,Java,Regex,请参阅我正在进行的工作RegExpLtd[.'s]{0,2} 我正在根据以下列表运行它: Ltd's Ltd. Ltd LtdTestTEst Ltds sdfTestLtd 如何编写一个RegExp,使我不匹配当前RegExp匹配的sdfTestLtd和LtdTestTEst 进一步澄清 我通过java的String.matches()方法传递上面的列表,我希望它仅为以下模式返回true: Ltd's Ltd. Ltd Ltds 在开头放一个^,在结尾放一个$ 只需将^放在开头。我想您可
Ltd[.'s]{0,2}
我正在根据以下列表运行它:
Ltd's
Ltd.
Ltd
LtdTestTEst
Ltds
sdfTestLtd
如何编写一个RegExp,使我不匹配当前RegExp匹配的sdfTestLtd
和LtdTestTEst
进一步澄清
我通过java的String.matches()方法传递上面的列表,我希望它仅为以下模式返回true:
Ltd's
Ltd.
Ltd
Ltds
在开头放一个
^
,在结尾放一个$
只需将
^
放在开头。我想您可能会对输出的工作方式感到困惑
此时会显示打印您写入匹配结果:
窗口的任何内容,但只会突出显示匹配项
如果您还想控制字符串的结尾,那么您可以使用
$
来控制字符串的结尾
如果使用string.matches()
或等效方法,则在Java中通常不需要表示字符串开始/结束的^$
特殊字符,因为Java(与其他语言中的其他搜索/匹配运算符相反,与Rubular工具相反)匹配完整字符串
System.out.println("xHello".matches("Hello"));
// false: no match
System.out.println("xHello".matches(".*Hello"));
// true: match
System.out.println("sdfTestLtd ".matches("Ltd[.'s]{0,2}"));
// false: no match
这应该与您的示例完全匹配:
^Ltd(“?s|\)?$
使用此正则表达式
^Ltd[.的]{0,2}$
谢谢你给我看红宝石。我不知道这件事。很好@当然。。。尽管在问题中与相关联;)+1,尽管我更喜欢显式地使用正则表达式以避免任何混淆。+1感谢您用java代码和相关的信息性解释展示示例。虽然所有其他答案对我的问题都同样正确,但这一个包含java示例,所以我选择了这一个。