用于检测带有括号的双引号javascript对象属性的正则表达式
Regular expression to detect double quoted javascript object properties with brackets
有三种方法可以访问JavaScript Object属性。
-
someObject.propertyName
-
someObject['propertyName'] // with single quote '
-
someObject["propertyName"] // with double quote "
允许括号之间的空格,即someObject[ 'propertyName' ]
或someObject[ "propertyName" ]
。
someObject
的所有属性,我编写了以下正则表达式:
Regex regex = new Regex(@"someObject'.[a-zA-Z_]+[a-zA-Z0-9_]*");
检测表单someObject.propertyName
的属性regex = new Regex(@"someObject'[[ ]*'[a-zA-Z_]+[a-zA-Z0-9_]*'[ ]*']");
检测表单someObject['propertyName']
的属性
但是我不能为形式someObject["propertyName"]
的属性写正则表达式。每当我尝试在正则表达式visual studio中编写"
或'"
时,都会出现错误。
我在网上找到了一些正则表达式来检测双引号文本。比如这个。但我不能在正则表达式中添加'[
和']
, visual studio给出了错误。
如何检测表单someObject["propertyName"]
的属性?
我使用c# System.Text.RegularExpressions
库
但是我不能为形式
someObject["propertyName"]
的属性写正则表达式:
你可以使用这个正则表达式:
'bsomeObject'['s*(['"])(.+?)'1's*']
RegEx演示
或匹配任何对象:
'b'w+'['s*(['"])(.+?)'1's*']
在C#
中,正则表达式类似于
Regex regex = new Regex(@"'bsomeObject'['s*(['""])(.+?)'1's*]");
RegEx分手:
'b # word boundary
'w+ # match any word
'[ # match opening [
's* # match 0 or more whitespaces
(['"]) # match ' or " and capture it in group #1
(.+?) # match 0 or more any characters
'1 # back reference to group #1 i.e. match closing ' or "
's* # match 0 or more whitespaces
'] # match closing ]
相关文章:
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 循环遍历以数组为值的Javascript对象
- 从ajax请求中获取javascript对象
- 如何从对象的原型方法访问JavaScript对象属性
- 将XML转换为普通的旧JavaScript对象
- 通过引用传递JavaScript对象
- javascript对象操作:根据指定条件选择属性
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何在异步函数中使用javascript对象
- 临时Javascript对象
- 如何在ASP中为用户控件添加Javascript对象网
- 使用数组向下搜索Javascript对象
- Rails将JavaScript对象存储到Model的有效方式
- JavaScript对象不是从原型链继承的
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- SetInterval在javascript对象中表现怪异
- Javascript 对象和 this 关键字
- 如何在不知道关键字的情况下访问javascript对象值
- 在 JavaScript 对象中设置要使用的运算符的属性
- 如何搜索JavaScript对象并更改值