java中的正则表达式,组匹配

java中的正则表达式,组匹配,java,regex,Java,Regex,您好,java和regex组是如何工作的。例如,我想匹配任何文本'something',匹配的方式是+\s+'(.+)'{1},如何用某物替换任何文本'something' 意思是用第一个匹配的组替换匹配的字符串。如果您只想删除单引号,以下操作将起作用 yourString.replaceAll("'([^']+)'", "$1"); 它将搜索两个引号,中间有文本。并仅用文本替换它 System.out.println("any text 'something'".replaceAll("'(

您好,java和regex组是如何工作的。例如,我想匹配
任何文本'something'
,匹配的方式是
+\s+'(.+)'{1}
,如何用某物替换任何文本'something'


意思是用第一个匹配的组替换匹配的字符串。

如果您只想删除单引号,以下操作将起作用

yourString.replaceAll("'([^']+)'", "$1");
它将搜索两个引号,中间有文本。并仅用文本替换它

System.out.println("any text 'something'".replaceAll("'([^']+)'", "$1"));

打印
任何文本内容仅供参考,您的
{1}
是多余的--
{1}
隐含在每个原子上。请给出一个更具体的示例,例如精确输入
ABCXYZ
,精确期望输出
ABC123
或其他任何内容。对于正则表达式,我总是查看interwebz,比如@cdhowie,
{1}
也只检查一个
'
,这可能不是OP想要的。@Brad:但是
'
已经做到了这一点
'
相当于
'{1}
。应用于正则表达式上任何地方的
{1}
都是毫无意义和冗余的,因为它永远不会修改任何正则表达式的行为。