嗨需要從字符串中提取一個字母。正則表達式提取html塊中的一個字母
字符串我已經是HTML的一個很大塊,但如果我需要在搜索部分是這樣的文字:
Vahvistustunnus M :
,我需要得到M中的NBSP
所以內誰是最快的正則表達式教師? :)
嗨需要從字符串中提取一個字母。正則表達式提取html塊中的一個字母
字符串我已經是HTML的一個很大塊,但如果我需要在搜索部分是這樣的文字:
Vahvistustunnus M :
,我需要得到M中的NBSP
所以內誰是最快的正則表達式教師? :)
好吧,根據this page在鉬api文檔中,結果將所有的小組連接在一起。鑑於你只是想要兩個
之間的字符,那麼它不足以匹配整個事情,然後退出組。相反,你需要做這樣的事情:
(?<=Vahvistustunnus )[a-zA-Z](?= )
警告 這可能不適合你的工作,因爲lookbehinds(?<=pattern)
並非在所有正則表達式的口味提供。具體來說,我認爲,因爲鉬是一個Firefox擴展,那麼它可能使用ECMA(JavaScript)正則表達式的味道。 ECMA不支持向後看。
如果是這樣的話,那麼我將不得不要求別人回答你的問題,因爲我的正則表達式忍者(業餘)技能沒有比這更進一步。如果你在JavaScript代碼中使用正則表達式,那麼圍繞這個限制是有辦法的,但是根據你的描述,這聽起來像你必須解決這個問題,只是一個原始的正則表達式?
我收到一個「意外的例外:無效的量詞?」= Vahvistustunnus )[a-zA-Z](?= )「。雖然 – 2012-04-16 15:47:44
chrome://molybdenum/content/js/extensions.js,lineNumber - > 579,stack - > RegExp(「(?<= Vahvistustunnus )[a-zA-Z](?= ) 「)@:0 (」(?<= Vahvistustunnus )[a-zA-Z](?= )「,」checkval「)@chrome://molybdenum/content/js/extensions.js:579 (「(?<= Vahvistustunnus )[a-zA-Z](?= )」,「checkval」)@chrome://molybdenum/content/selenium/htmlutils.js:60 – 2012-04-16 15:49:09
是的,它必須使用ECMA然後我猜。我會想一想,但暫時我被卡住了。 – Robbie 2012-04-16 15:49:50
看起來它使用JavaScript,如果是
var str = "Vahvistustunnus M :";
var patt = "Vahvistustunnus ([A-Z]) :";
var result = str.match(patt)[1];
應該工作。
正則表達式在JavaScript中正常工作。但是,鉬恐怕不會將價值提取到一個變量中。大概應該看看另一個測試框架:)謝謝反正隊友! – 2012-04-17 05:55:53
有些問題......它總是一個「M」還是它可以是任何角色?你想用它做什麼?找到它?代替它?驗證它是否存在?正則表達式(PCRE,POSIX等)的味道是什麼?在什麼情況下你打算使用正則表達式(C#,Java,Vim,Notepad ++等)? – Robbie 2012-04-16 14:39:10
它可以是任何角色,我想稍後提取並使用該角色。正則表達式的味道是未知的,因爲它應該用在使用鉬的UI測試中,我不確定他們是如何進行比賽的(https://www.molyb.org/confluence/display/molyb/Home) – 2012-04-16 14:52:47
好的,謝謝..最後一個問題......是你總是尋找的比賽總是在字面上'Vahvistustunnus'? – Robbie 2012-04-16 14:59:16