正则表达式以匹配括号或括号内的字符串中的数字

安迪·埃文斯(Andy Evans)

我有一个数据集,其中每行包含一组括在括号或括号内的数字。例如

Jim Bob Smith [1975] 
Joe Bob Public (1955)

我遇到的问题是创建一个正则表达式,该表达式将匹配在两种情况下都可以使用的数字(不带括号或括号)。

我试过了

(?<=\[).+?(?=\]) and
(?<=\().+?(?=\))

因此,我需要帮助找到将两者结合的方法。任何帮助将不胜感激。

维克多·史翠比维

您可以使用以下.NET正则表达式:

(?:(\()|\[)(.*?)(?(1)\)|])

参见正则表达式演示

细节

  • (?:(\()|\[)-一个非捕获组,将一个(字符匹配并捕获到组1中,否则仅匹配一个[字符
  • (.*?)-第2组:除换行符以外的任何0个或多个字符,应尽可能少(而不是.*?,您可能要使用\d+在那里匹配1个或多个数字,或者\d{4}仅匹配四个数字,甚至(?:20|19)\d{2}匹配一年)在20世纪和21世纪c。)
  • (?(1)\)|])-条件构造:如果第1组匹配,则a)匹配,否则为]char。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

正则表达式匹配方括号内大括号内的字符串

正则表达式匹配字符串不在括号内

如何创建正则表达式以匹配括号内的特定子字符串?

正则表达式匹配括号内的字符串

正则表达式匹配方括号内的字符串,用冒号分隔

正则表达式匹配大括号内的字符串

正则表达式匹配点后括号内的管道分隔字符串

R中的正则表达式以匹配方括号中的字符串

正则表达式:匹配括号括起来的字符串中的某些单词

正则表达式匹配不在某些括号中的字符串

正则表达式匹配括号和逗号之间的字符串,但存在多个括号

获取Golang正则表达式中括号内的所有子字符串

如何使用正则表达式替换没有嵌套括号的字符串中不匹配的括号?

前括号(包括内括号)之间的Javascript正则表达式字符串

使用正则表达式获取括号内的字符串,删除括号

如何在括号正则表达式内的括号外获取字符串

方括号字符串的正则表达式

MySQL正则表达式在字符串的开头或结尾匹配括号字符

用于替换 dyplr 工作流程中字符串内括号内的非数字字符的正则表达式

Python正则表达式从字符串中除去括号之外的非字母数字字符

正则表达式匹配括号之间的关键字后的字符串

Python 正则表达式:仅在花括号后面匹配字符串

正则表达式以匹配括号和字符串长度之间的数据

正则表达式将单词边界字符串与括号匹配

正则表达式匹配排除括号的字符串

Python正则表达式括号匹配不返回正确的子字符串

正则表达式不匹配所有括号子字符串

与字符串末尾的括号不匹配的正则表达式模式

Python正则表达式可分隔以括号结尾的数字的字符串