試圖趕上人物在開始字符串和換行符的字符串是正則表達式提高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