python - 正则表达式 (Python) : Matching Integers not Preceded by Character

标签 python regex regex-negation

基于一些数字字符串:

(30123:424302) 123 #4324:#34123

如何才能只获取前面没有“#”的数字?我已经找到了如何获取以“#”开头的数字(\#+\d+),但我需要相反的。我可以将所有 \d+ 分组,然后根据我拥有的模式进行反向匹配吗?

为了澄清,我在上面的示例中需要 30123424302123

最佳答案

您可以尝试使用负后向+单词边界的正则表达式:

(?<!#)\b\d+

RegEx Demo

正则表达式详细信息:

  • (?<!#) :当 # 时,负向后查找条件会使匹配失败出现在前面的位置
  • \b字边界
  • \d+ :匹配1+位数字

关于python - 正则表达式 (Python) : Matching Integers not Preceded by Character,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76058513/

相关文章:

python - Django update() 交换 MySQL 中两个字段的值?

javascript - 如何使用 Plotly 制作带 slider 的等值线图?

java - 匹配正则表达式中的所有专利 - java

python - 删除python字符串中除下划线和大括号之外的所有标点符号?

java - 如果字符串仅匹配 Java 中的一组,则使用正则表达式来匹配该字符串

python - urllib2 - 发布请求

python - 原始套接字编程 UDP Python

regex - 引用-此正则表达式是什么意思?

用于日期扫描的Java库(如数字扫描仪)?

javascript - JavaScript 正则表达式中的否定匹配