嗨需要从字符串中提取一个字母。正则表达式提取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