当前位置: 首页 > 编程笔记 >

Regular Expressions 用\ K模拟可变长度后视

符渊
2023-03-14
本文向大家介绍Regular Expressions 用\ K模拟可变长度后视,包括了Regular Expressions 用\ K模拟可变长度后视的使用技巧和注意事项,需要的朋友参考一下

示例

某些正则表达式类型(Perl,PCRE,Oniguruma,Boost)仅支持定长后视,但提供了该\K功能,可用于在模式开始时模拟变长后视。遇到a时\K,到此为止的匹配文本将被丢弃,并且仅将匹配以下 模式部分的文本\K保留在最终结果中。

ab+\Kc

等效于:

(?<=ab+)c

通常,形式为:

(subpattern A)\K(subpattern B)

最终类似于:

(?<=subpattern A)(subpattern B)

除非B子模式可以与A子模式匹配相同的文本-否则最终结果可能会稍有不同,因为A子模式仍然使用文本,与后面的真实外观不同。

 类似资料:
  • 问题内容: 我有一个带有列的表,其中包含如下所示的字符串。 我需要从第二次出现到字符串结尾获取子字符串,并且您可以看到子字符串的长度不是固定的。第一部分并不总是固定的,它可以改变。到目前为止,我正在使用以下代码来实现它。 如您所见,我采用一个任意大的值作为长度来处理可变长度。有更好的方法吗? 问题答案: 您可以与函数结合使用,找到的最后一次出现,还可以使用从字符串末尾获取指定数量的字符。 SQLF

  • 问题内容: 我如何遍历可变长度的Java数组。 我想我会设置一个while循环,但是如何检测到数组末尾。 我想我想要这样的东西[只需要弄清楚如何表示myArray.notEndofArray()] 问题答案: 要么 第二个版本是“ for-each”循环,它适用于数组和Collections。大多数循环可以使用for- each循环完成,因为您可能并不在乎实际的索引。如果您确实关心实际索引,请使用

  • 我试图读取一个csv文件,并将其设置为转换为另一种格式,以节省一些工作时间,但当一行的长度小于预期列时,我正在加载它的JTable会引发异常。如果行长度<列长度,是否有方法创建空单元格? 因此,您可以看到getValueAt(int row,int col)方法,如果col超过String[].length将导致错误。

  • 问题内容: Core Audio具有C API,可将一些数据复制到您提供的内存中。在一种情况下,我需要传递一个指向AudioBufferList的指针,该指针定义为: UInt32标识缓冲区的数量,并且实际缓冲区紧随其后。 我可以成功获得此: 我无法识别(AudioBuffer)语法,但我认为它并不重要- 我认为括号会被忽略,mBuffers只是一个AudioBuffer,由我自己完成指针数学运算

  • 我对R真的很陌生,我想创建一个随机森林。然而,我不断地遇到同样的错误- 模型中出现错误。框架默认情况下,变量的长度不同 我知道这个问题在另一个主题中得到了解决,它是通过使用

  • 问题内容: 即使使用标志,我也无法禁用它。如何禁用它? 问题答案: 您可以使用编译器标志为可变长度数组生成错误: