为什么`TRegEx.split` 返回一个空字符串作为第一个元素?

J·多伊

为什么TRegEx.split返回一个空字符串作为第一个元素?

  • 我的字符串:{name}text
  • 我的正则表达式: TRegEx.split('{name}text', '\{(.*)\}');

我的结果:

[empty]
name
text
塞巴斯蒂安·普罗斯克

因为在分隔符前面有一个空的零长度匹配,它将被添加到结果中。这类似于我所知道的大多数正则表达式实现。遗憾的是,Delphi 文档没有注意到这一点。

请注意,如果{...}由于.*贪婪而有多个字符串,您的模式将重叠- 而是使用\{(.*?)\}\{[^{}]*\}比较字符串的结果,如a{b}c{d}e

var
  S: string;
begin
  for S in TRegex.Split('a{b}c{d}e', '\{(.*)\}') do
  begin
    WriteLn(S);   //->['a','b{c}d','e']
  end;
  WriteLn('-------------------');
  for S in TRegex.Split('a{b}c{d}e', '\{(.*?)\}') do
  begin
    WriteLn(S);  //-> ['a','b','c','d','e']
  end;
  ReadLn;
end.

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Groovy:为什么按空格split()对一个空字符串进行返回会返回一个空字符串的列表?

来自分类Dev

为什么带有包含捕获组的正则表达式的string.split返回一个以空字符串结尾的数组?

来自分类Dev

为什么awk split()使第一个字段成为数组中的最后一个元素?

来自分类Dev

当我用\\ s split()我的字符串时,为什么我的单词是一个空字符串?

来自分类Dev

为什么MATLAB的regexp只返回第一个匹配标记字符串?

来自分类Dev

在字符串上使用split方法将返回一个空字符串

来自分类Dev

子进程Popen返回一个空字符串,作为communication()[0] .split('\ n')上的最后一个列表成员

来自分类Dev

Groovy:为什么按空格分割()空字符串会返回一个空字符串的列表?

来自分类Dev

为什么LayoutObjectNames在FileMaker 14中返回一个空字符串?

来自分类Dev

为什么我的函数返回一个空字符串?

来自分类Dev

为什么 Promise 返回一个空字符串?

来自分类Dev

如果lisp中的字符串是向量,为什么不能使用svref访问第一个元素?

来自分类Dev

为什么打印指向char的指针的第一个元素会打印字符串的内容?

来自分类Dev

为什么通过 XMLHttp 请求只从 html 字符串中出现第一个元素?

来自分类Dev

Java split()返回一个空的第一个元素

来自分类Dev

Java split()返回一个空的第一个元素

来自分类Dev

为什么printf只打印字符串中的第一个单词?

来自分类Dev

为什么将对象键的第一个值视为字符串-AngularJs

来自分类Dev

为什么此处要回显的字符串参数忽略了第一个单词?

来自分类Dev

为什么NSScanner找不到目标字符串的第一个匹配项?

来自分类Dev

为什么awk中的split(string,regex)使用最后一个字段在第一个位置?

来自分类Dev

仅使用split删除第一个“:”的更好方法是什么?

来自分类Dev

为什么字符串连接仅消耗第一个字符串?

来自分类Dev

为什么串联两个空字符串会导致一个空字符串?

来自分类Dev

Python:为什么str.split()返回一个列表,而str.partition()返回一个元组?

来自分类Dev

为什么第一个元素被破坏?

来自分类Dev

为什么在for循环中第二次运行函数会返回一个空字符串?

来自分类Dev

为什么在Django模型图像中,Media.url返回一个空字符串,而不是图像链接?

来自分类Dev

为什么循环浏览元组会给我字符串的第一个字符?

Related 相关文章

  1. 1

    Groovy:为什么按空格split()对一个空字符串进行返回会返回一个空字符串的列表?

  2. 2

    为什么带有包含捕获组的正则表达式的string.split返回一个以空字符串结尾的数组?

  3. 3

    为什么awk split()使第一个字段成为数组中的最后一个元素?

  4. 4

    当我用\\ s split()我的字符串时,为什么我的单词是一个空字符串?

  5. 5

    为什么MATLAB的regexp只返回第一个匹配标记字符串?

  6. 6

    在字符串上使用split方法将返回一个空字符串

  7. 7

    子进程Popen返回一个空字符串,作为communication()[0] .split('\ n')上的最后一个列表成员

  8. 8

    Groovy:为什么按空格分割()空字符串会返回一个空字符串的列表?

  9. 9

    为什么LayoutObjectNames在FileMaker 14中返回一个空字符串?

  10. 10

    为什么我的函数返回一个空字符串?

  11. 11

    为什么 Promise 返回一个空字符串?

  12. 12

    如果lisp中的字符串是向量,为什么不能使用svref访问第一个元素?

  13. 13

    为什么打印指向char的指针的第一个元素会打印字符串的内容?

  14. 14

    为什么通过 XMLHttp 请求只从 html 字符串中出现第一个元素?

  15. 15

    Java split()返回一个空的第一个元素

  16. 16

    Java split()返回一个空的第一个元素

  17. 17

    为什么printf只打印字符串中的第一个单词?

  18. 18

    为什么将对象键的第一个值视为字符串-AngularJs

  19. 19

    为什么此处要回显的字符串参数忽略了第一个单词?

  20. 20

    为什么NSScanner找不到目标字符串的第一个匹配项?

  21. 21

    为什么awk中的split(string,regex)使用最后一个字段在第一个位置?

  22. 22

    仅使用split删除第一个“:”的更好方法是什么?

  23. 23

    为什么字符串连接仅消耗第一个字符串?

  24. 24

    为什么串联两个空字符串会导致一个空字符串?

  25. 25

    Python:为什么str.split()返回一个列表,而str.partition()返回一个元组?

  26. 26

    为什么第一个元素被破坏?

  27. 27

    为什么在for循环中第二次运行函数会返回一个空字符串?

  28. 28

    为什么在Django模型图像中,Media.url返回一个空字符串,而不是图像链接?

  29. 29

    为什么循环浏览元组会给我字符串的第一个字符?

热门标签

归档