所以我有这个代码,
const urlPattern1 = new RegExp(
"(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}[^.,!?:;\\s]+$/?|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}[^.,!?:;\\s]+$/?|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]\\.[^\\s]{2,}[^.,!?:;\\s]+$/?)"
)我希望它不包括任何标点符号后的网址。所以现在如果我输入"www.google.com/...“那么它将正确地只注册"www.google.com/“。但是,如果我键入"www.google.com.!“然后我希望它仍然只注册"www.google.com",但现在它没有注册任何内容。它似乎只是正确地处理了句点,以及任何其他标点符号(如!)没有得到正确处理。有什么帮助吗?
发布于 2018-07-03 13:52:31
(?:http(?:s)?:\/\/)?(www\.[^\.]+\.\w+)
试试看。转到https://regexr.com并放入
www.google.com
www.google.com/...
www.google.com.!
http://www.google.co-!#{}作为测试字符串,并将其作为正则表达式。应该能行得通。
www.google.com // Matches www.google.com
www.google.com/... // Matches www.google.com
www.google.com.! // Matches www.google.com
http://www.google.co-!#{} // Matches www.google.cohttps://stackoverflow.com/questions/51144931
复制相似问题