【发布时间】:2016-04-04 08:02:14
【问题描述】:
/^[a-z][ ][=][>][ ][a-z?][.?][a-z0-9]+[ ][=][ ]['?][a-z0-9]+['?]]/i
我正在试图弄清楚如何获得一个能够识别一串 lambda 语法(在 c# 中使用)的 rexex 模式
字符串的情况
"p => p = 'some random string'" //Must alow for single quotes
数字或布尔值的情况
"p => p = true" /*or*/ "p => p = 25" //Must allow for a string without single quotes with no whitespace at all in the event there are no single quotes
它还必须允许使用单个 '.'在“=”符号左侧选择的字母中
"p => p.firstName = 'Jack'"
如何修改我的正则表达式以满足以下要求
- 从任何字母开始
- 后跟必填空格
- 后跟强制字符串“=>”(不带单引号)
- 后跟一个必填空格
- 后跟步骤 1 中的相同字母(或至少一个字符)
- 后跟句点字符(可选)
- 后跟任何一组字母数字字符(如果步骤 6 中有句点,则需要)
- 后跟一个空格
- 后跟等号
- 后跟一个空格
- 后跟任何字母数字字符集和单引号(但仅当单引号包含字母数字字符集时)
【问题讨论】:
-
static bool greaterThanTwo(int arg)是一个谓词。你的意思是 lambda 谓词:List<int> newList = list.FindAll(i => i > 2); -
我的错误。已更正。
标签: javascript regex