我需要得到与我使用regex给出的特定模式匹配的单词。
例如,如果模式是"ABC",我需要得到字串"ABC“,如果它是在输入内容。
内容:
这是ABC标题。主题名为ABCDE。 我的书有一页有名字叫BE-ABC。ABC是一个标签名。
我应该得到ABC,因为上面的单词是粗体的。它应该从ABC或ABCDE返回匹配的BE-ABC。
我是否需要使用单线模式或多行模式来实现这一点?
发布于 2013-09-12 11:42:43
正如BackSlash所提到的,您应该使用yourString.contains("ABC")。
否则,如果您真的需要正则表达式:
.*ABC.*.匹配任何字符(换行符除外),*表示0次或多次。因此,.*意味着任何字符的零或多个。
ABC是文字字符,.*再次出现。
您可以在http://regex101.com/r/yD3rX2上测试这个正则表达式。
我声明的这两个方法都会让您知道字符串是否包含字符"ABC",但是它们不会返回字符"ABC“。在大多数情况下,您可能需要一个布尔值。
发布于 2013-09-12 11:42:53
将此代码放入函数并调用它。
if(yourString.contains(pattern)) //patern is passed as argument and is type string
return pattern;发布于 2013-09-12 11:43:52
\s*ABC\s*意思是任意的空格,然后是ABC,还有任意的空格。听起来你只想要ABC的精确匹配?
要获得一个好的正则表达式备忘表,请参见下面的内容:
http://regexlib.com/CheatSheet.aspx?AspxAutoDetectCookieSupport=1
https://stackoverflow.com/questions/18763198
复制相似问题