我有以下字符串:正則表達式中的一個表達式來選擇子
bla bla XX_XXX = 999 OR XX _ XXX = 890 OR XX _X XX = 789 OR XX_ XX = 123
,我想找回XX_XXX
和XX _ XXX
和XX _X XX
和XX_ XX
我可以使每個單獨工作,但不是一次正式表達。這可能嗎?怎麼樣?
我有以下字符串:正則表達式中的一個表達式來選擇子
bla bla XX_XXX = 999 OR XX _ XXX = 890 OR XX _X XX = 789 OR XX_ XX = 123
,我想找回XX_XXX
和XX _ XXX
和XX _X XX
和XX_ XX
我可以使每個單獨工作,但不是一次正式表達。這可能嗎?怎麼樣?
對不起,不清楚:x代表任何字母字符,因此每個X可以是[a-zA-Z]。我使用的模式如下所示:「\ s [A-Z] [A-Z] _ [A-Z] * =」 – user782388 2014-10-16 14:20:47
@ user782388是否要匹配前導空格? – 2014-10-16 14:21:59
@ user782388,我相應地更新了答案。 – falsetru 2014-10-16 14:22:05
我想你想這樣的事情,
(?<=\s|^)[A-Z][A-Z]\s*_(?:\s*[A-Z])+
說明:
' '
(?<= look behind to see if there is:
\s whitespace (\n, \r, \t, \f, and " ")
| OR
^ the beginning of the string
) end of look-behind
[A-Z] any character of: 'A' to 'Z'
[A-Z] any character of: 'A' to 'Z'
\s* whitespace (\n, \r, \t, \f, and " ") (0 or
more times)
_ '_'
(?: group, but do not capture (1 or more
times):
\s* whitespace (\n, \r, \t, \f, and " ") (0
or more times)
[A-Z] any character of: 'A' to 'Z'
)+ end of grouping
這似乎在伎倆。謝謝我會研究你的答案並從中學習。 – user782388 2014-10-16 14:28:01
@ user782388因爲你是Stack overflow的新手,所以我建議你閱讀這個http://stackoverflow.com/help/accepted-answer。 – 2014-10-16 14:31:05
是'_'總是存在於所有的那些 「變量」 的名字呢?例如'/(.{2,3}\s?_\s?.{2,3})= /'可能會訣竅。 – 2014-10-16 14:11:21
你能描述一下你的規則,而不是列舉例子嗎?因爲你提出問題的方式「(XX_XXX)|(XX _ XXX)|(XX _X XX)|(XX_ XX)'是一個正確的答案。像'2個字母后跟一個下劃線和三個字母 - 所有可以用一個空格分開'會更有意義。 – decPL 2014-10-16 14:12:43
對不起,不清楚:x代表任何字母字符,所以每個X可以是[a-zA-Z]。我使用的模式如下所示:「\ s [A-Z] [A-Z] _ [A-Z] * =」 – user782388 2014-10-16 14:17:43