我正在尝试对文件进行排序,并且需要一个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
因此,您有一个模式,它应该匹配整个字符串,而不是它的任意部分。注意,空格(' '
(是正则表达式中的一个普通符号,不需要引号。
欺骗自己