regex 正则表达式匹配整个单词和特殊字符

nbnkbykc  于 2023-01-06  发布在  其他
关注(0)|答案(1)|浏览(213)

我有这样一个字符串(csv):

american, american , latin-american, American, AMERICAN

我试过这个\bamerican\b,但是它匹配所有五个单词。它似乎忽略了一些特殊字符,如"-"和""。它也是大小写不敏感的。
它应该做的是只忽略","。它还必须区分大小写。
因此,唯一匹配的单词是"american"(该字符串的第一个单词)。
我怎样才能做到这一点?

q3aa0525

q3aa05251#

试试这个:

(?:^|(?<=,\s))american(?:(?=,)|$)

参见regex demo

import re
txt = 'american, american , latin-american, American, AMERICAN'
re.findall('(?:^|(?<=,\s))american(?:(?=,)|$)', txt)

//Output: ['american'] the first one.

相关问题