我想弄明白哪种文字与以下正则表达式相匹配,但我无法找到匹配。
^(\d{3}-){2}\d{4}$
此字符串
(111-)(111-)4444
不匹配。
我认为最后应该是3位数和一个减号,在括号之间,整个表达式重复两次,然后是4位数字。
我的想法有什么问题?
答案 0 :(得分:2)
答案 1 :(得分:2)
括号是正则表达式元字符。如果你想匹配一个文字括号,你需要反斜杠 - 逃避它(在许多正则表达式方言中)。
var urlVars:Object = new Object();
urlVars.name = nameTxt.text;
urlVars.lastname = lastNameTxt.text;
var request:URLRequest = new URLRequest(FIREBASEURL);
request.data = JSON.stringify(urlVars);
request.method = URLRequestMethod.POST;
var firebaseLoader:URLLoader = new URLLoader();
firebaseLoader.addEventListener(flash.events.Event.COMPLETE, function():void
{
trace(firebaseLoader.data);
});
firebaseLoader.load(request);
一个简单的括号与任何东西都不匹配;它用于分组和捕获。例如,^(\(\d{3}-\)){2}\d{4}$
匹配^(a|b)$
或a
。括号将变更分组b
,以便无论括号组内的哪个表达式匹配,都需要括号外的内容。类似地,在上文中,非转义括号表示|
重复的内容(没有组,它只会重复最后的{2}
)。
如果您的语言提供了捕获群组,则\)
或$1
或\1
或其所谓的内容将包含第一对括号内的内容。
答案 2 :(得分:0)
如果您要测试正则表达式,请结帐https://regex101.com。
\ d是一个数字,可以是0,1,2,3 ......,9。
{3}表示正好3次出现的数字。所以143,768等等。
344-644-2319将匹配该正则表达式。