2017-07-17 56 views
-1

有一個用於捕獲用戶數據的單詞模板。提供的值需要使用正則表達式提取。模板的部分如下所示:正則表達式匹配組,包含變量前後字符

located in ________________ County 

因此,當用戶在數據罷了,輸出可以有不同數量的_前端和後端字符。例如:

located in _______San Diego________ County 

located in ________San Diego_______ County 

located in _San Diego________ County 

located in ________San Diego_____ County 

located in San Diego County 

目標是使用正則表達式從上面顯示的任何示例中提取聖地亞哥。

+1

歡迎來到Stack Overflow!你目前的正則表達式是什麼樣的?你是否被掛在特定的地方?或者根本不知道從哪裏開始? – sniperd

+0

它可能會幫助你指定在哪種語言或你neee實現(默認正則表達式語法不同程序/語言之間) – Jay

+0

我已經試過向前看,後面。不幸的是,這是行不通的,因爲破折號的數量會有所不同。我假設我需要使用匹配組。但我不知道從哪裏開始。 我不確定這門語言。我正在使用提取數據的工具。他們提取數據的方式之一是使用正則表達式。我不確定底層語言是什麼。如果我猜測,我會說底層語言是C# – Hootan

回答

0

_+([^_]+)_+

匹配組將匹配_小號

+0

這是行不通的,因爲還有其他藥劑與_s具有相同的模式。另外,我想在提取的文本中排除_s – Hootan

+0

如果您只是提取第一個匹配組(如'('')'中所定義的那樣,它們將被排除。如果你告訴我你正在使用的語言,我可以告訴你如何去做... 作爲替代方案,你可以從結果中修剪()_。 關於由於流浪_在文字中的錯誤匹配...是的,這是一個問題。可能是一個破壞交易的手段。 – Jay

+0

如果我在代碼中這樣做,它會簡單得多。這個正則表達式是我必須提供給具有正則表達式提取功能的工具。 – Hootan

0

任何款項的任何作爲周杰倫的回答的變體。使用前瞻和後面不捕獲_(發現不止一個_是不相關的信息);並使用更獨特的捕捉組,以便只有字母數字,空格和製表符大聲朗讀。這將捕獲位於同一句子和文本行中的_之間的任何文本。如果輸入是有限長度,則可以用{1,#}代替+,其中#是輸入的長度。

(?<=_)[A-Za-z0-9 \t]+(?=_)

爲了提高過濾超出需要的方式來告訴從有效組流浪組更多的知識。