栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Java中的String.contains()方法中使用正则表达式

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Java中的String.contains()方法中使用正则表达式

String.contains

String.contains
与字符串,句点一起使用。它不适用于正则表达式。它将检查指定的确切字符串是否出现在当前字符串中。

注意

String.contains
不检查单词边界。它只是检查子字符串。

Regex solution

正则表达式比强大

String.contains
,因为你可以对关键字(除其他事项外)执行单词边界。这意味着你可以将关键词搜索为单词,而不仅仅是子字符串。

使用String.matches具有以下正则表达式:

"(?s).*\bstores\b.*\bstore\b.*\bproduct\b.*"

RAW正则表达式(删除字符串文字中的转义符-这是在打印出上面的字符串时所得到的):

(?s).*bstoresb.*bstoreb.*bproductb.*

b
一个字边界检查,这样你就不会得到匹配
restores store products
。请注意
stores 3store_product
,由于数字和_被认为是单词的一部分,因此也被拒绝,但是我怀疑这种情况会出现在自然文本中。

由于双方都检查了单词边界,因此上面的正则表达式将搜索确切的单词。换句话说,

stores stores product
将与上面的正则表达式不匹配,因为你要搜索的单词
store
没有s。

.
通常匹配除 许多换行符以外的任何字符。
(?s)
一开始会.毫无例外地匹配任何字符(感谢蒂姆·皮茨克克(Tim Pietzcker)指出这一点)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/441876.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号