Java 如何在RegExp中使用^(字符串开头)

Java 如何在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 在开头放一个^,在结尾放一个$ 只需将^放在开头。我想您可

请参阅我正在进行的工作RegExp
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示例,所以我选择了这一个。