是否可以定义一个正则表达式来匹配除某个定义的字符或字符集之外的每个字符?
基本上,我想用逗号 (,) 或分号 (;) 分割字符串。因此,我正在考虑使用正则表达式来匹配所有内容,直到遇到逗号或分号。
[^,;]+
您尚未指定您正在使用的正则表达式实现。它们中的大多数都有一个 Split
方法,该方法采用分隔符并由它们分割。您可能希望将其与“普通”(不带 ^
)字符类一起使用:
[,;]+
使用字符类。以插入符号开头的字符类将匹配该类中没有的任何内容。
[^,;]
用这个:
([^,;]*[,;])*
(?:([^,;]*)(?:[^,;]|$))
”(带有非捕获括号的 PCRE)。在字段或记录结束后使用逗号或分号的替代方案可以使事情更好地工作。还要考虑是否允许空字段。