用于提取js函数的正则表达式onclick =" unSelAll(' FBtest11_6',this.value,this.id)"

时间:2016-05-12 05:02:43

标签: javascript jquery regex

我想在=&#34之后得到字符串;之前" 例如 - unSelAll(' FBtest11_6',this.value,this.id)

有时候=" "可能是=''

例如 - onclick ='unSelAll("FBtest11_6",this.value,this.id)'

我希望字符串仅从函数名称开始

1 个答案:

答案 0 :(得分:1)

描述

此正则表达式将执行以下操作:

  • 找到@echo off :MENU title MENU0 Echo 1 - Select Menu 1 Echo 2 - Select Menu 2 Echo 0 - Exit Echo. SET /P choice=Type the number or letter of task you want, then press ENTER: IF %choice%==1 GOTO 1 IF %choice%==2 GOTO 2 IF %choice%==0 EXIT :1 call %userprofile%\desktop\\Menu1.bat :2 call %userprofile%\desktop\Menu2.bat 的第一个实例并返回相关值
  • 允许用单引号或双引号括起来,或者不用引号
  • 允许onclick =与其关联onclick
  • 之间的空格
  • 由于这似乎是HTML类型字符串中的模式匹配,因此正则表达式将避免使用模式匹配HTML的困难边缘情况

<强>正则表达式

=

Regular expression visualization

捕获论坛

  • 捕获组0获取包含值和周围引号的整个字符串(?:[^>=]|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*?\s*\Konclick\s*=(['"]?)(.*?)\1(?:\s|$) 字符串
  • 如果存在
  • ,则捕获组1会获取值周围的报价
  • 捕获组2获取onclick值,不包括任何引号

实施例

示例文字

注意第二行中的困难边缘情况

onclick

样本匹配

onclick ='unSelAll("FBtest11_6",this.value,this.id)'
onmouseover=" onclick ='This is not the droid you are looking for' " onclick ="find me instead"

直播示例

https://regex101.com/r/yU8eL1/2

解释

[0][0] = onclick ='unSelAll("FBtest11_6",this.value,this.id)'

[0][1] = '
[0][2] = unSelAll("FBtest11_6",this.value,this.id)

[1][0] = onclick ="find me instead"
[1][1] = "
[1][2] = find me instead