试图赶上人物在开始字符串和换行符的字符串是正则表达式提高C++
.V/1LBOG\n.F/AV0094/08NOV/SAL/Y\n.E/0134249356001"
正则表达式我使用的是从上面的字符串,我需要赶上.V /和.E/
^.[VE]/*
但似乎只ctach .V /任何人都可以看到,为什么,因为我以为^藏汉意味着换行符字符串的开始?任何帮助将非常gratefull ive这个问题有一段时间了。如果这不是正确的方式,那么你可以提出一种不同的方式。
试图赶上人物在开始字符串和换行符的字符串是正则表达式提高C++
.V/1LBOG\n.F/AV0094/08NOV/SAL/Y\n.E/0134249356001"
正则表达式我使用的是从上面的字符串,我需要赶上.V /和.E/
^.[VE]/*
但似乎只ctach .V /任何人都可以看到,为什么,因为我以为^藏汉意味着换行符字符串的开始?任何帮助将非常gratefull ive这个问题有一段时间了。如果这不是正确的方式,那么你可以提出一种不同的方式。
是有用的正则表达式101:
^
指字符串的开始。你猜对了。只能有一个字符串的开始。
^.[VE]/*
指:串的
匹配开始,随后的任何字符(换行除外),后跟一个V或一E,随后0到n /
(贪婪)。
也许你想是这样的:
\.[VE].*?(?:\\n|$)
这意味着匹配一个点,再跟着V或E和匹配的一切,直到\n
或字符串的结尾。
评论如果我错了。
因此.V/1LBOG\n.F/AV0094/08NOV/SAL/Y\n.E/0134249356001"
看起来像这样?
.V/1LBOG
.F/AV0094/08NOV/SAL/Y
.E/0134249356001"
如果是的话,那么你就需要改变你的正则表达式一点点:
\.[VE].*
滥用的事实,.
默认情况下不匹配换行符。
.
在正则表达式中匹配任何单个字符,而不是字面值.
。如果你想匹配一个文字周期,你需要逃避它(\.
)。 *
不匹配任何数量的任何字符(如大多数shell),而是匹配零个或更多的实例。例如,A*
将匹配文字字母A
,AAAA
等,.*
将匹配任何字符串。
^
表示一行的开始。 ^\.[VE]/
将匹配.V/
和.E/
(但仅在该行的开头)。
您需要“/ 1LBLOG”和“0134249356001”值吗? – rkmax
不是我需要它来检查.V /和.E /是否出现在新行的开头,所以它的“.V /”不是1BLOG和“。E /“不是0134249356001希望有帮助吗? – CodersSC