我在文件的每一行都有一个数据,如下所示
BMT.PQ
DMZ.IV
VLD.Q
WPS.T
我正在寻找一个正则表达式,分为两类输出
数据的起始字母介于A
到M
和其他
数据的起始字母从N
到Z
我试过这个
[A-M].*
从A
到M
的第一个开头字母获取前半部分数据
我期待
的结果/正则表达式文本匹配仅限:
BMT.PQ
DMZ.PQ
但它也匹配了
LD.Q
这对我不合适。
我甚至未能成功[(A-M)(A-M)(A-M)].*
基本上我想基于数据中的起始字母进行拆分。一半用于从A
到M
的字母开始的数据,另一半用于以字母N
开头到Z
的数据。
答案 0 :(得分:1)
你很接近,你只需要为字符串的开头添加^
,为字符串的结尾添加$
。
^[A-M].*$
和
^[N-Z].*$
确保启用多线模式。多行模式(通常是m
标志)允许^
和$
分别检测行的起点和行尾。
答案 1 :(得分:0)
克拉符号表示正在搜索/匹配的字符串的开头。您可能需要的两个正则表达式是:
^[A-M]
^[N-Z]