我想从以下字符串中提取第一个逗号(名字和姓氏)之前的文本:
John Smith, RN, BSN, MS
Thom Nev, MD
Foo Bar, MD,RN
我尝试使用正则表达式:
(.*)\s(.*),\s
但这并不适用于所有情况。如何做到这一点?
匹配从字符串开头到第一个逗号的所有内容:
^(.+?),
怎么样:yourString.split(",")[0]
^([^,])+
这个正则表达式在 Sublime 中为我工作。它选择了第一个逗号之前的所有内容。
以下情况如何:
[^,]*
[^,]*
意思是“匹配任意数量的非逗号字符”,我认为这正是你在这里想要做的。您可能希望将其锚定到字符串 iwth 的开头^
,如下所示:
^[^,]*
您必须使用非贪婪的正则表达式运算符,尝试:(.+?),
而不是:(.+),
。请注意,当使用贪婪运算符时,您将匹配最后一个逗号之前的所有内容,而不是第一个。
^[a-zA-Z0-9]+
..使用这个...这是获得第一个逗号分隔值的正确答案