java的正则匹配中 为什么这个返回空?

 正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。正则表过式用于操作字符串数据。

String类里有一个方法

 参数: regex - 用来匹配此字符串的正则表达式

 返回: 当且仅当此字符串匹配给定的正则表达式时,返回 true

[a-z]匹配指定范围内的任意一个字符,例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。
[A-Z]匹配指定范围内的任意一个字符,例如,“[A-Z]”可以匹配“A”到“Z”范围内的任意大写字母字符。
. 匹配除“\r\n”之外的任何单个字符
\d 匹配一个数字字符。等价于[0-9]
 \s 匹配任何不可见字符,包括空格、制表符、换页符等等。等价于[\f\n\r\t\v]
 ^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
\b 匹配一个单词边界
? 匹配一次或一次没有
{n,m} 匹配至少n次,但不能超过m次匹配
\1 后向引用,表示表达式中,从左往右数,第一个左括号对应的括号内的内容。以此类推,\2表示第二个,\0表示整个表达式

使用String类中的matches方法 例子:匹配手机号码是否正确

 

但是,当我在Java中尝试此操作时,我无法使其正常工作。 这是我的java:

模式末尾的/不适用于/word/test,因为它正在寻找/word/test/。 如果希望斜杠为可选,请将其更改为:


正则表达式简单理解就是用来匹配字符串,看看所给字符串是否与正则表达式匹配,通过匹配关系,可以做很多事情,比如搜索引擎、替换、校验、分割等等。但最基本的还是用来校验匹配关系。 Java SE中早已实现了正则表达式的引擎,并且有着广泛的应用。

我要回帖

更多关于 java正则过滤指定字符串 的文章

 

随机推荐