无效的转义序列(有效的转义序列是\ b \ t \ n \ f \ r \“\'\)。无法将正则表达式模式放在字符串中

时间:2014-12-09 07:02:48

标签: java regex

我正在尝试使用正则表达式但不能这样做。这是正则表达式模式:

/(?:^(http:\/\/|https:\/\/|\/\/)((?:[\w.:-]+)(?:(?:[\/]+)(?!acl-)|["\'])(?:[^\s"\'}\]]*)))/mi

请帮帮我。我非常感谢你。

1 个答案:

答案 0 :(得分:2)

/(?:^(http:\/\/|https:\/\/|\/\/)((?:[\w.:-]+)(?:(?:[\/]+)(?!acl-)|["\'])(?:[^\s"\'}\]]*)))/mi

以上的等效Java正则表达式是

"(?m)(?i)(?:^(http://|https://|//)((?:[\\w.:-]+)(?:/+(?!acl-)|[\"'])(?:[^\\s\"'}\\]]*)))"

(?m)称为多行修饰符,(?i)称为不区分大小写的修饰符。你不需要逃避正斜杠和单引号,但你必须逃避双引号。您还可以将上述修饰符组合为(?mi)(?im)(http://|https://|//)可以写为((?:https?:)?//)