Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在现有正则表达式Java中添加引号_Java_Regex - Fatal编程技术网

在现有正则表达式Java中添加引号

在现有正则表达式Java中添加引号,java,regex,Java,Regex,我有一个现有的正则表达式:^[\u A-Za-z0-9-+]+(\\\.[u A-Za-z0-9-]+)* 我想在这个正则表达式中添加一个引号。它可以在任何地方,并且必须零次或只出现一次 我还没有找到我需要添加什么才能做到这一点。有人有主意了吗?您可以将'添加到两个字符类中,并通过使'之前和之后的内容在前瞻中成为可选的,以肯定的前瞻性断言开始模式,以确定字符串中任何位置是否存在可选的' ^(?=[\w.+-]*(?:'[\w.-]+)?$)[\w+'-]+(?:\.[\w-']+)*$ 解释

我有一个现有的正则表达式:
^[\u A-Za-z0-9-+]+(\\\.[u A-Za-z0-9-]+)*

我想在这个正则表达式中添加一个引号。它可以在任何地方,并且必须零次或只出现一次


我还没有找到我需要添加什么才能做到这一点。有人有主意了吗?

您可以将
'
添加到两个字符类中,并通过使
'
之前和之后的内容在前瞻中成为可选的,以肯定的前瞻性断言开始模式,以确定字符串中任何位置是否存在可选的
'

^(?=[\w.+-]*(?:'[\w.-]+)?$)[\w+'-]+(?:\.[\w-']+)*$
解释

  • ^
    字符串的开头
  • (?=
    正向前瞻,断言右边的是
    • [\w.+-]*
      匹配任何
      [\w.+-]*
    • (?:'[\w.-]+)?$
      可以选择匹配
      '
      和0+次任何
      [\w.-]
      ,并断言字符串的结尾
  • 关闭“向前看”
  • [\w+'-]+
    匹配1+个单词字符
    '
    -
  • (?:\.[\w-']+)*
    可以选择重复匹配前面的
  • $
    字符串结尾

在爪哇

String regex = "^(?=[\\w.+-]*(?:'[\\w.-]+)?$)[\\w+'-]+(?:\\.[\\w-']+)*$";

您可以发布一些有效和无效字符串的示例吗?提供一个输入和预期结果的示例仅插入一个
'
,并将其添加到两个字符类
^(?=[^']*'[^']*$)[[u a-Za-z0-9-+']+(\.[u a-Za-z0-9-']+)*$
您的正则表达式可以简化为:
^[\w-+++++.\[\w-]+)*
一些例子:aaa'aa.bbbbbbaaaaaaa.bbbbaaaa'.bbbbb aaaa.'bbbbb实际上我的正则表达式是^[[u-A-Za-z0-9-+]+(\\.[[u-A-Za-z0-9-])*(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z0-9-]{2,30}$,我只想在你刚才发送的内容之前加上什么?[[A-Za-z0-z0-99-++]。[\\.[-++]。][\u A-Za-z0-9-+']+(\\.\.\\w-']+)*@[\\w-]+(?:\.\.\.\\w-]+)*(?:\.\.\.\.\\w-]{2,30})$看到它几乎完美了,但它不适用于A.b'@测试。com@JeromeF99我明白了,现在可以用了。太好了。谢谢