【发布时间】:2023-03-20 04:07:01
【问题描述】:
是否可以定义一个匹配除某个已定义字符或字符集之外的每个字符的正则表达式?
基本上,我想用逗号 (,) 或分号 (;) 分割字符串。所以我正在考虑使用一个正则表达式来匹配所有内容,直到遇到逗号或分号。
【问题讨论】:
标签: regex
是否可以定义一个匹配除某个已定义字符或字符集之外的每个字符的正则表达式?
基本上,我想用逗号 (,) 或分号 (;) 分割字符串。所以我正在考虑使用一个正则表达式来匹配所有内容,直到遇到逗号或分号。
【问题讨论】:
标签: regex
[^,;]+
您尚未指定正在使用的正则表达式实现。它们中的大多数都有一个Split 方法,该方法采用分隔符并由它们分割。您可能希望将其与“普通”(没有^)字符类一起使用:
[,;]+
【讨论】:
使用字符类。以 caret 开头的字符类将匹配该类中没有的任何内容。
[^,;]
【讨论】:
[^,;]+
【讨论】:
使用这个:
([^,;]*[,;])*
【讨论】:
(?:([^,;]*)(?:[^,;]|$))'(带有非捕获括号的 PCRE)。在字段或记录结束后使用逗号或分号的替代方案可以使事情变得更好。还要考虑是否允许空字段。