检查字符串是否为正则表达式的其他方法

我有此功能来检查字符串是否为正则表达式,并且工作正常:

function IsValidRegEx(aString: string): Boolean;
var
  aReg : TRegEx;
begin
  Result := False;
  if Trim(aString) = '' then
  begin
    Exit;
  end;

  try
    aReg := TRegEx.Create(aString);
    if aReg.IsMatch('asdf') then
    begin
    end;
    Result := True;
  except
  end;
end;

问题是,如果字符串值是false,它将始终引发调试器异常通知。我想消除该通知。有一个选项可以忽略通知本身中的该异常,但是我不想要它。将尽可能地调整代码。

戴维·赫弗南

如果要使用这种方法,则无法避免Delphi正则表达式库引发异常。您需要深入研究Delphi用于实现其正则表达式库的PCRE库。例如:

{$APPTYPE CONSOLE}

uses
  System.RegularExpressionsAPI;

function IsValidRegEx(const Value: UTF8String): Boolean;
var
  CharTable: Pointer;
  Options: Integer;
  Pattern: Pointer;
  Error: PAnsiChar;
  ErrorOffset: Integer;
begin
  CharTable := pcre_maketables;
  Options := PCRE_UTF8 or PCRE_NEWLINE_ANY;
  Pattern := pcre_compile(PAnsiChar(Value), Options, @Error, @ErrorOffset, CharTable);
  Result := Assigned(Pattern);
  pcre_dispose(Pattern, nil, CharTable);
end;

begin
  Writeln(IsValidRegEx('*'));
  Writeln(IsValidRegEx('.*'));
  Readln;
end.

请注意,我已经用Delphi XE7编写了此代码,因为我无权访问XE2。如果该代码无法编译,那么研究Delphi regex库的源代码以找出如何在XE2中实现相同功能就不会太困难。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用正则表达式检查字符串是否完全不是其他单词

来自分类Dev

使用正则表达式或其他方法从字符串返回JavaScript对象

来自分类Dev

用于检查字符串是否为整数的正则表达式

来自分类Dev

检查字符串的正则表达式以

来自分类Dev

正则表达式检查字符串是否包含指定字符以外的字符

来自分类Dev

正则表达式检查字符串是否包含非指定字符

来自分类Dev

正则表达式-如何检查字符串是否以给定字符开始或结束?

来自分类Dev

正则表达式检查字符串是否仅由特殊字符组成

来自分类Dev

C中的正则表达式,检查字符串是否包含特定字符

来自分类Dev

如何检查字符串在Python中是否为有效的正则表达式?

来自分类常见问题

检查字符串是否与Bash脚本中的正则表达式匹配

来自分类Dev

布尔检查字符串是否与ruby中的正则表达式匹配?

来自分类Dev

正则表达式检查字符串是否包含非数字失败

来自分类Dev

JavaScript检查字符串是否包含正则表达式中的任何单词

来自分类Dev

使用正则表达式检查字符串是否以数字开头

来自分类Dev

正则表达式检查字符串是否只有空格

来自分类Dev

检查字符串是否可能与正则表达式匹配

来自分类Dev

正则表达式,应检查字符串是否包含指定的单词

来自分类Dev

用于检查字符串是否仅包含零的正则表达式

来自分类Dev

检查字符串是否包含带有正则表达式的独立“ c ++”

来自分类Dev

如何检查字符串是否与正则表达式匹配

来自分类Dev

正则表达式来检查字符串是否符合特定条件

来自分类Dev

检查字符串是否匹配特定的正则表达式

来自分类Dev

正则表达式,应检查字符串是否包含指定的单词

来自分类Dev

检查字符串是否与python中的正则表达式完全匹配

来自分类Dev

检查字符串是否以正则表达式数字开头

来自分类Dev

检查字符串是否满足正则表达式

来自分类Dev

使用正则表达式检查字符串的开头是否与模式匹配

来自分类Dev

打字稿 - 正则表达式检查字符串是否包含元音

Related 相关文章

  1. 1

    使用正则表达式检查字符串是否完全不是其他单词

  2. 2

    使用正则表达式或其他方法从字符串返回JavaScript对象

  3. 3

    用于检查字符串是否为整数的正则表达式

  4. 4

    检查字符串的正则表达式以

  5. 5

    正则表达式检查字符串是否包含指定字符以外的字符

  6. 6

    正则表达式检查字符串是否包含非指定字符

  7. 7

    正则表达式-如何检查字符串是否以给定字符开始或结束?

  8. 8

    正则表达式检查字符串是否仅由特殊字符组成

  9. 9

    C中的正则表达式,检查字符串是否包含特定字符

  10. 10

    如何检查字符串在Python中是否为有效的正则表达式?

  11. 11

    检查字符串是否与Bash脚本中的正则表达式匹配

  12. 12

    布尔检查字符串是否与ruby中的正则表达式匹配?

  13. 13

    正则表达式检查字符串是否包含非数字失败

  14. 14

    JavaScript检查字符串是否包含正则表达式中的任何单词

  15. 15

    使用正则表达式检查字符串是否以数字开头

  16. 16

    正则表达式检查字符串是否只有空格

  17. 17

    检查字符串是否可能与正则表达式匹配

  18. 18

    正则表达式,应检查字符串是否包含指定的单词

  19. 19

    用于检查字符串是否仅包含零的正则表达式

  20. 20

    检查字符串是否包含带有正则表达式的独立“ c ++”

  21. 21

    如何检查字符串是否与正则表达式匹配

  22. 22

    正则表达式来检查字符串是否符合特定条件

  23. 23

    检查字符串是否匹配特定的正则表达式

  24. 24

    正则表达式,应检查字符串是否包含指定的单词

  25. 25

    检查字符串是否与python中的正则表达式完全匹配

  26. 26

    检查字符串是否以正则表达式数字开头

  27. 27

    检查字符串是否满足正则表达式

  28. 28

    使用正则表达式检查字符串的开头是否与模式匹配

  29. 29

    打字稿 - 正则表达式检查字符串是否包含元音

热门标签

归档