Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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 - Fatal编程技术网

Javascript 如何从两组括号中获取多个文本?

Javascript 如何从两组括号中获取多个文本?,javascript,regex,Javascript,Regex,我需要从多个括号中获取多个文本,如果没有多个括号,那么我只需要从单个括号中获取文本 1例: My sentence is : A Cef (1000mg) (Sterlie Ceftriaxone) Price List. 现在,我需要得到如下输出: Output : 1000mg Sterlie Ceftriaxone 2如果我只有这样的一套,那也是一样的:一份阿替洛尔价目表 那么我的输出应该是:阿替洛尔 我正在使用

我需要从多个括号中获取多个文本,如果没有多个括号,那么我只需要从单个括号中获取文本

1例:

My sentence is :
                  A Cef (1000mg) (Sterlie Ceftriaxone) Price List.
现在,我需要得到如下输出:

  Output :
                 1000mg Sterlie Ceftriaxone
2如果我只有这样的一套,那也是一样的:一份阿替洛尔价目表

那么我的输出应该是:阿替洛尔

我正在使用以下javascript代码:

function myFunction() {
    var str = "A Cef (1000mg) (Sterlie Ceftriaxone) Price List."; 
    var res = str.match(/\((.*))\)/);
    document.getElementById("demo").innerHTML = res[1];
}
它在第二种情况下非常有效,但当我在第一种情况下使用它时,它会给我这个输出

         Output :1000mg) (Sterlie Ceftriaxone 

我相信问题在于使用.*通配符可以捕获括号和空格

如果使用var res=str.match/\[0-9a-zA-Z]+\/;相反,它可以捕获第一个组,因为它与示例中的括号或空格不匹配。

这是因为*是。您还需要进行匹配以获得所有结果

试试这个-


str.match/\[^\]+\/g

使用非贪婪表达式/\.+?\/gm。 看

函数myFunctiontext{ var res=text.match/\.+?\/g; var cleanedUp=res.join“”。替换//[]/g,;//删除并加入匹配项 console.log cleanedUp; } MyFunction Cef 1000mg斯特利头孢曲松价格表。;
我有一份阿替洛尔的价目表。;我想你右手边的刹车太多了。试试这个var res=str.match/\.\/;我用了和你建议的一样的表达方式。第一个不起作用。谢谢帮助:谢谢帮助: