我想从该字符串中取第一个逗号分隔值。
"Lines.No;StartPos=3;RightAligned;MaxLength =2"
我使用"\b.*\;"
正则表达式来"Lines.No"
。但结果是
"Lines.No;StartPos=3;RightAligned;"
感谢。
答案 0 :(得分:4)
首先,将搜索锚定在字符串的开头。然后使用延迟量词:^\b.*?;
或否定字符类:^\b[^;];
但请注意:您的CSV字段(带引号的字符串)中是否会出现分号?如果是这样,仍然可以使正则表达式工作,但会更复杂 - 一个CSV解析器会好得多。
答案 1 :(得分:2)
我知道你正在寻找一个正则表达式,但如果你有分隔字符串,请使用你最喜欢的语言的split()函数,例如在Python中
>>> s="Lines.No;StartPos=3;RightAligned;MaxLength =2"
>>> s.split(";")[0]
'Lines.No'
比正则表达式简单得多。类似地,在PHP中使用explode(),在Perl中使用split(),在C#中使用Split()等等
答案 2 :(得分:1)
你也可以这样做,在python中
>>> x="Lines.No;StartPos=3;RightAligned;MaxLength =2"
>>> x[:x.find(";")]
'Lines.No'