使用Javascript进行ASP.NET ID的正则表达式

时间:2009-11-20 20:35:39

标签: asp.net javascript regex

我试图从这个字符串中提取“需要”一词。

ctl00_ctl00_ContentMainContainer_ContentColumn1__needDont_Panel1

我试过了[__]([.]?=Dont)

这是使用javascript .match()

我甚至试图使用http://gskinner.com/RegExr/但是无法解决这个问题。谢谢你的帮助!

3 个答案:

答案 0 :(得分:2)

(?<=__)\w+(?=Dont)

匹配__和Dont之间的所有字母数字

修改

抱歉,我没有注意到JavaScript一词。它不支持lookbehind,因此可以在那里使用__(\w+)(?=Dont)。 如果正则表达式匹配,即使__之间没有任何内容,也不要使用“\ w *”代替“\ w +”。小心“。*”因为dot几乎匹配所有字符,你在ID中是否允许空格?

我没注意到

答案 1 :(得分:1)

这将实现您的目标:

__(.*)(?=Dont)

您似乎混淆了character class - 方括号[] - 的作用,而应该使用常规括号()

在正则表达式[__]中,只匹配一个下划线_,而[.]将匹配一个句点。

答案 2 :(得分:1)

您的错误是写[__]而不是__(没有大括号)。 [__]仅匹配一个下划线,因此它将匹配_ctl00_ContentMainContainer_ContentColumn1__need

[。]也错了。你应该使用类似的东西:[^ _] +(除了下划线之外的任何东西)。