Regex 正则表达式匹配每个出现的字符,除非前一个字符是某个字符
以下正则表达式:Regex 正则表达式匹配每个出现的字符,除非前一个字符是某个字符,regex,Regex,以下正则表达式: [^;].+?(?=;) 将匹配任何内容,直到“;” example: select * from table;select * from tableb; 只有select语句将被匹配,这是我想要的,但是如果我有 选择*from/;表c 我希望匹配是select*from/;表C即在像这样更改您的正则表达式之前忽略带有'/'的分号 [^;](?:\/;|.)+?(?=;) (?:\/;|)这将匹配/或任意字符贪婪地重复一次或多次 或 使用负向后看 [^;].+?(?=(
[^;].+?(?=;)
将匹配任何内容,直到“;”
example: select * from table;select * from tableb;
只有select语句将被匹配,这是我想要的,但是如果我有
选择*from/;表c代码>
我希望匹配是select*from/;表C
即在像这样更改您的正则表达式之前忽略带有
'/'的分号
[^;](?:\/;|.)+?(?=;)
(?:\/;|)
这将匹配/
或
任意字符贪婪地重复一次或多次
或
使用负向后看
[^;].+?(?=(?<!\/);)
[^;]。+?(?=(?像这样更改您的正则表达式
[^;](?:\/;|.)+?(?=;)
(?:\/;|)
这将贪婪地匹配/;
或
任何字符一次或多次
或
使用负向后看
[^;].+?(?=(?<!\/);)
[^;]。+?(?=)谢谢你的回答!第二个更有效还是不同?谢谢你的回答!第二个更有效还是不同?