![无法使用正则表达式负向前瞻进行匹配?](https://linux22.com/image/1366820/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E8%B4%9F%E5%90%91%E5%89%8D%E7%9E%BB%E8%BF%9B%E8%A1%8C%E5%8C%B9%E9%85%8D%EF%BC%9F.png)
我想使用 Java 中的正则表达式匹配以下字符串:
suspicious url test' xts#dfd
如果有引号,我不希望正则表达式匹配('
),这就是我正在使用的。
suspicious url\s.*(?!')
当我使用这个时我匹配整个字符串。
答案1
问题是 .* 会在前瞻发生之前匹配所有内容。如果您只是想确保 ' 不会跟在行尾,请尝试:
suspicious url\s[^']*$
我想使用 Java 中的正则表达式匹配以下字符串:
suspicious url test' xts#dfd
如果有引号,我不希望正则表达式匹配('
),这就是我正在使用的。
suspicious url\s.*(?!')
当我使用这个时我匹配整个字符串。
问题是 .* 会在前瞻发生之前匹配所有内容。如果您只是想确保 ' 不会跟在行尾,请尝试:
suspicious url\s[^']*$