如何使用regexp()提取包含括号的子字符串



我正试图提取左括号或regexp()点之前的子字符串。例如

example1='qwer(1).asdf; qwer(1).zxcv;';
example2='qwer.asdf; qwer.zxcv;';

我试着

expression='(?<varname>.*?)((d+)){?}.';
expression='(?<varname>.*?)(?<others>(d+)){?}.';
expression='(?<varname>.*?)(';
expression='(?<varname>.*?)(';
expression='(?<varname>.*?)/(';

parts=regexp(example1,expression,'names');

没有工作。

regexp()中如何与括号匹配?

官方文档没有提到如何使用组成运算符、量词等的字符。

可以使用

example1 = '01/11/2000  20-02-2020  03/30/2000  16-04-2020';
expression = '(?<varname>w+)[(.]';
parts=regexp(example1,expression,'names');

参见regex演示。细节:

  • (?<varname>w+)- Group "varname":一个或多个字字符
  • [(.]-(.char.
/(?<varname>(S*?)(?:(.*?;)|(S*?)(?:..*?;))/g

下面是正则表达式中括号的示例。我添加以上内容是为了回答你的问题

/(.*?)/g

这将匹配每个

的括号和括号之间的所有内容转义圆括号,*?匹配最小的数量,所以它不匹配第一个和最后一个括号之间的所有内容全局标志为每个出现

https://regex101.com/是一个很好的资源

相关内容

  • 没有找到相关文章

最新更新