簡體   English   中英

正則表達式使所有給定單詞旁邊的單詞

[英]Regex to get the word next to all of the given words

我需要一個正則表達式來立即捕獲我提供的所有單詞旁邊的單詞。

例句:

user =“ panda”試圖訪問resource =“ system”

要捕獲的單詞:熊貓和系統(即,緊跟在“用戶”和“資源”一詞旁邊的單詞)

當前,我使用此正則表達式(?<=name=\\")(.*?)(?=\\";) ,返回名稱“ panda”。 我正在尋找一個可以捕獲上述句子中的用戶和資源的查詢。

有人可以幫助進行正則表達式查詢嗎?

只是一個帶有延遲匹配的簡單正則表達式就可以完成這項工作

user="(.*?)".*resource="(.*?)"

如果您需要以任何順序匹配兩個以上的單詞,它將變得更加復雜,在這種情況下,我根本不會使用RegEx,您寧願為此創建一個詞法分析器。 只需創建一個將首先標記該句子的類/過程,然后解析器即可獲取您想要的信息

由於.NET的正則表達式支持非固定長度的Lookbehinds,因此您只需在非捕獲組中添加所需的所有單詞並使用替換即可:

(?<=(?:user|resource)=\").*?(?=\")

演示

您也可以使用以下方法來消除前瞻性:

(?<=(?:user|resource)=\")[^"]*

演示#2

暫無
暫無

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

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