Regex以匹配逗号之间的英文字符范围



我正在尝试对文件进行排序,并且需要一个regex来处理以下场景:

一行应该有来自A-Z a-z 0-9 or " " "_"的字符,然后它将由单个,分隔,然后它应该再次匹配A-Z a-z 0-9 or " " "_"。但是,如果一行前面或后面有任何其他字符,它就不应该接受

所以这应该是有效的:

123 45, Amogus
1234, Al Amogus9_

但这不应该是:

1235, AMogus,,,,,,,,,,,,,,,
susus
s, s, s
.12, sus.

我目前有这个正则表达式[A-Za-z0-9_" "]+,[A-Za-z0-9_" "]+,但不幸的是,它没有排除字符串之前或之后的任何特殊字符

您似乎在寻找标记字符串开始和结束的锚点^$

^[A-Za-z0-9_ ]+,[A-Za-z0-9_ ]+$

此处

^              - beginning of the string
[A-Za-z0-9_ ]+ - one or more letters, digits, _ or spaces (' ')
,              - comma ','
[A-Za-z0-9_ ]+ - one or more letters, digits, _ or spaces (' ')
$              - end of the string 

因此,您有一个模式,它应该匹配整个字符串,而不是它的任意部分。注意,空格(' '(是正则表达式中的一个普通符号,不需要引号。

欺骗自己

最新更新