Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式如何从值代理、用户名和数字中提取?_Javascript_Regex_Parsing_Lua_Freeswitch - Fatal编程技术网

Javascript 正则表达式如何从值代理、用户名和数字中提取?

Javascript 正则表达式如何从值代理、用户名和数字中提取?,javascript,regex,parsing,lua,freeswitch,Javascript,Regex,Parsing,Lua,Freeswitch,我对电话拨号盘有一个正则表达式要求,从这里我需要解析代理名称、用户名和电话号码 随机用户输入示例如下: bt_linux_root_0012127773456 bt_windows_root_0012127773456 bt_randomstring_randomstringnumber_0012127773456 我只能使用表达式来解析输入值,预期的输出如下(^bt(\d+)$): $1=linux $2=root $3=0012127773456 仅仅使用正则表达式如何进行这样的解析?这是您

我对电话拨号盘有一个正则表达式要求,从这里我需要解析代理名称、用户名和电话号码

随机用户输入示例如下:

bt_linux_root_0012127773456

bt_windows_root_0012127773456

bt_randomstring_randomstringnumber_0012127773456

我只能使用表达式来解析输入值,预期的输出如下(
^bt(\d+)$
):

$1=linux

$2=root

$3=0012127773456


仅仅使用正则表达式如何进行这样的解析?

这是您的模式:
^bt(\w+?)\uw(\w+?)\ud+$

它有3个
捕获括号
。每一个都捕获所需的部分


我使用了
-非贪婪量词,因此单词搜索将在遇到的第一个下划线处结束
\w
搜索字母、数字和下划线,我不希望它将下划线作为单词的一部分。

也许吧?你能详细说明一下,这个
bt\u randomstring\u randomstringnumber\u 0012127773456
是否应该匹配成3个捕获的组,就这些?是的-3个捕获的组have@YumYumYum:您是用Lua还是JS编码?在Lua中,它看起来像
^bt([^ _]+)\uBT([^ _]+)\uD+$
。或者可能是
^bt\u(%w+)\u(%w+)\u(%d+)$
(在Lua模式中,
%w
不匹配
)。