簡體   English   中英

簡單文本的正則表達式模式

[英]Regex pattern for simple text

我有一些從PDF文件轉換的文本,現在我需要使用正則表達式從文本中獲取特定內容。 過去我使用索引和數學來獲得特定長度

這是我的文字:

1ZW6897X0327621544

每個以1Z開頭,長度為18個字符。

我嘗試去Regexr.com尋求幫助,但這根本沒有任何意義:

1Z[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]

這就是我的大腦處理正在閱讀的內容的方式,從1Z開始,然后在接下來的16個地方輸入0-9任何字符?

有人可以幫忙嗎?

您可以使用

\b1Z[A-Z0-9]{16}\b

要么

\b1Z\w{16}\b

正則表達式演示

細節

  • \\b單詞邊界
  • 1Z文字子字符串
  • [A-Z0-9]{16} -16個大寫ASCII字母和/或數字(請注意\\w將與任何字母,數字和/或_匹配,並且如果不傳遞RegexOptions.ECMAScript ,它將與所有Unicode匹配字母/數字,以及更多“有趣”的符號)
  • \\b單詞邊界。

如果邊界是空格(即,匹配預期在字符串或空格的開頭,然后在字符串或空格的結尾),則可以使用(?<!\\S)1Z[A-Z0-9]{16}(?!\\S)模式。

在C#中,您可以將其與Regex.Matches使用:

var results = Regex.Matches(s, @"\b1Z[A-Z0-9]{16}\b")
        .Cast<Match>()
        .Select(m => m.Value)
        .ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM