0

您好需要从字符串中提取一个字母。

我拥有的字符串是一大块 html,但我需要搜索的部分是这个文本:

Vahvistustunnus M :

我需要把 M 放在 nbsp 里面

那么,谁是最快的正则表达式大师呢?:)

4

2 回答 2

1

看起来它使用 JavaScript,如果是这样

var str = "Vahvistustunnus M :";
var patt = "Vahvistustunnus ([A-Z]) :";
var result = str.match(patt)[1];

应该管用。

于 2012-04-16T19:29:37.870 回答
1

好的,根据钼 api 文档中的这个页面,结果将是所有连接在一起的组。鉴于您只想要两者之间的字符, 那么匹配整个事物然后拉出组是不够的。相反,您需要执行以下操作:

(?<=Vahvistustunnus&nbsp;)[a-zA-Z](?=&nbsp;)

警告 这可能对您不起作用,因为并非 (?<=pattern)所有正则表达式风格都提供后视。具体来说,我认为因为 molybdenum 是 firefox 扩展,所以它很可能使用 ECMA (javascript) 正则表达式风格。而且ECMA 不支持lookbehinds。

如果是这种情况,那么我将不得不请其他人回答您的问题,因为我的正则表达式忍者(业余)技能并没有比这更进一步。如果您在 javascript 代码中使用正则表达式,那么有办法绕过这个限制,但根据您的描述,听起来您必须用原始正则表达式来解决这个问题?

于 2012-04-16T15:37:47.533 回答