Java 无效的转义序列(有效的是\b\t\n\f\r\";&x27;\)。无法将正则表达式模式放入字符串中
我正在尝试使用正则表达式模式,但无法这样做。这是正则表达式模式:Java 无效的转义序列(有效的是\b\t\n\f\r\";&x27;\)。无法将正则表达式模式放入字符串中,java,regex,Java,Regex,我正在尝试使用正则表达式模式,但无法这样做。这是正则表达式模式: /(?:^(http:\/\/|https:\/\/|\/\/)((?:[\w.:-]+)(?:(?:[\/]+)(?!acl-)|["\'])(?:[^\s"\'}\]]*)))/mi 请帮帮我。我将非常感谢你 /(?:^(http:\/\/|https:\/\/|\/\/)((?:[\w.:-]+)(?:(?:[\/]+)(?!acl-)|["\'])(?:[^\s"\'}\]]*)))/mi 上述等效Java正则表达式为
/(?:^(http:\/\/|https:\/\/|\/\/)((?:[\w.:-]+)(?:(?:[\/]+)(?!acl-)|["\'])(?:[^\s"\'}\]]*)))/mi
请帮帮我。我将非常感谢你
/(?:^(http:\/\/|https:\/\/|\/\/)((?:[\w.:-]+)(?:(?:[\/]+)(?!acl-)|["\'])(?:[^\s"\'}\]]*)))/mi
上述等效Java正则表达式为
"(?m)(?i)(?:^(http://|https://|//)((?:[\\w.:-]+)(?:/+(?!acl-)|[\"'])(?:[^\\s\"'}\\]]*)))"
(?m)
称为多行修饰符,(?i)
称为不区分大小写修饰符。您不需要转义斜杠和单引号,但必须转义双引号。您还可以将上述修饰符组合为(?mi)
或(?im)
和(http://https://|///)
可以写成(?:https::)?//)
再次摆脱所有反斜杠。我已经尝试过了。它不起作用。所有的斜杠都必须避开:这就是结果。以后,请展示你的尝试。您已经展示了您试图实现的正则表达式模式(无明显原因地转义正斜杠),但还没有展示您尝试的Java代码是什么样子的,它需要以字符串文字转义反斜杠。请阅读谢谢。我将在10分钟后接受您的回答。您可以将两个标志放在一起,例如(?im)