Regex 每行重复一个正则表达式
假设我们有以下文本信息:Regex 每行重复一个正则表达式,regex,Regex,假设我们有以下文本信息: FEE AA XXX093 Some Fee bla bla bla FEE BB YYY111 Another Fee bla bla bla 我可以使用此正则表达式捕获费用代码(AA)和费用金额(XXX093): FEE (?<feecode>[A-Z]{2}) {7}(?<feeamt>[A-Z]{3}[0-9. ]{1,8}).*\n FEE(?[A-Z]{2}{7}(?[A-Z]{3
FEE AA XXX093 Some Fee bla bla bla
FEE BB YYY111 Another Fee bla bla bla
我可以使用此正则表达式捕获费用代码(AA)和费用金额(XXX093):
FEE (?<feecode>[A-Z]{2}) {7}(?<feeamt>[A-Z]{3}[0-9. ]{1,8}).*\n
FEE(?[A-Z]{2}{7}(?[A-Z]{3}[0-9.]{1,8})。*\n
但这仅捕获第一行(AA)上的费用信息,如何修改正则表达式以获取这两个(或X个)费用?只需在最后删除
\n
字符,并从字符类中删除空格即可。这样第二个捕获组就不会捕获feeamunity后面的空格
FEE (?<feecode>[A-Z]{2}) {7}(?<feeamt>[A-Z]{3}[0-9.]{1,8})
FEE(?[A-Z]{2}{7}(?[A-Z]{3}[0-9.]{1,8})
只需在最后删除
\n
字符,并从字符类中删除空格即可。这样第二个捕获组就不会捕获feeamunity后面的空格
FEE (?<feecode>[A-Z]{2}) {7}(?<feeamt>[A-Z]{3}[0-9.]{1,8})
FEE(?[A-Z]{2}{7}(?[A-Z]{3}[0-9.]{1,8})
删除
\n
,因为它会阻止匹配字符串中的最后一行(因为它以无\n
结尾):
这里有多行
选项,仅匹配单独行上的信息:
^FEE (?<feecode>[A-Z]{2}) {7}(?<feeamt>[A-Z]{3}[0-9. ]{1,8}).*$
^FEE(?[A-Z]{2}{7}(?[A-Z]{3}[0-9.]{1,8})*$
删除\n
,因为它会阻止匹配字符串中的最后一行(因为它以无\n
结尾):
这里有多行
选项,仅匹配单独行上的信息:
^FEE (?<feecode>[A-Z]{2}) {7}(?<feeamt>[A-Z]{3}[0-9. ]{1,8}).*$
^FEE(?[A-Z]{2}{7}(?[A-Z]{3}[0-9.]{1,8})*$
如有必要,在费用之前添加线锚起点^
。如有必要,在费用之前添加线锚起点^
。顺便问一下,您使用的语言是什么,C#?顺便问一下,您使用的语言是什么,C#?