0
私は単語を検出するVB.netプログラムを作成しています。ここに私のサンプルテキストファイルです:RegexとVB.netのパターンマッチング
EXTERNAL 16EVP_PK -- FL(4) TDC PERMIT CONTRL TO MESTO CONTRL
-- FL(5) $HY04B09.BOXTSTAT (= RUN = ON)
EXTERNAL 16EVPUPK -- FL(33) REQUEST FROM METSO FOR CONTRL
EXTERNAL 16SA0541 -- SP VALUES TRANSFERS
EXTERNAL 16FC0730, 16FC0815, 16FC0830 -- Hiway 4 Tags
EXTERNAL 16FC1525 -- Hiway 4 Tags
私はEXTERNAL後と前にすべてを検出したい - (EXTERNALは、外部または外部または任意の組み合わせであってもよい)。最初の試合は「16EVP_PK」第二試合16EVPUPK第三試合16SA0541第四試合「16FC0730、16FC0815、16FC0830」をお読みくださいので、ここで
に私が書いたコードです:事前にPrivate Sub CheckCLFile()
path="D:\16METEVP.CL"
'Read CL file
Dim value As String = System.IO.File.ReadAllText(path)
Dim Pattern As String = "(?m)(?<=\bExternal).*$"
Debug.WriteLine(value)
Debug.WriteLine(Regex.Matches(value, Pattern).Count())
For Each m As Match In Regex.Matches(value, Pattern)
Console.WriteLine("'{0}' found at index {1}.",
m.Value, m.Index)
Next
End Sub
おかげで。
Gurman続い0+のスペースが続かなければならないことを検証するために - 非常に近いですしかし、3つのタグ(16FC0730、16FC0815、16FC0830)を選択する必要がある場合は、1つしか表示されません(16FC0730)。私は外部の前にすべてを選択する必要があります。ありがとう。 – TanuAD
こんにちは...私はそれを正しく読まなかった。私は今、解決策を更新した。 – Gurman
非常に良い説明。正規表現について新しいことを学びました。ありがとうガーマン。 – TanuAD