Java 正则表达式来匹配模式

标签 java regex

我是 Java 新手。请帮助我使用 Java 正则表达式来匹配模式并检索值。 我需要匹配以下模式:

\# someproperty=somevalue // this is a new property

\#someproperty=somevalue // this is a new property

我必须匹配上述模式(可能包含空格),并且需要检索 "someproperty""somevalue"

我尝试使用下面的模式,但它只匹配 someproperty=somevalue ,开头没有 "#" 。请帮帮我。

Pattern propertyKeyPattern = Pattern.compile("^\\s*(\\S+?)\\s*=.*?");

最佳答案

如果你想匹配整个字符串并查找模式,例如“\# someproperty =some value”。 尝试正则表达式

^\\#\s*(\S+?)\s*=(.*)$

作为 Java 字符串,它是

"^\\\\#\\s*(\\S+?)\\s*=(.*)$"

字符串\# someproperty = a some value的匹配结果为

matches() = Yes

find()    = Yes

group(0)  = \# someproperty = a some value

group(1)  = someproperty

group(2)  = a some value

关于Java 正则表达式来匹配模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13578326/

相关文章:

java - 如何获取类型为 T 的字段的类?

javascript - 正则表达式匹配 url 但不匹配超链接中的 url

java使用正则表达式从字符串中删除模式

javascript - 使用正则表达式仅获取一场匹配

java - 在java中比较字符的问题

java - Runtime.getRuntime().availableProcessors() 可以返回 0 吗?

java - 在 Tomcat 上运行 SolrCloud 时出现 FileNotFoundException

php - 如何在匹配之前用正则表达式替换 mySQL 列?

java - find()之后如何识别模式名称?

java - 在 java 中,如何将 scala setter 方法 'myvar_$eq(myval)' 别名为更令人愉悦的东西?