我以前从未使用过 TPerlRegEx,这是我第一次使用正则表达式。
我正在寻找一个在Delphi Xe2中使用TPerlRegEx的小例子来删除括号和引号,如下所示:
输入字符串:
["some text"]
Run Code Online (Sandbox Code Playgroud)
结果:
some text
Run Code Online (Sandbox Code Playgroud)
单行,没有嵌套的括号或引号。我已经使用 Regexbuddy 创建和测试正则表达式,但它没有给我结果。
这适用于正则表达式好友:
\n\n正则表达式:
\n\n\\["(.+?)"\\]\nRun Code Online (Sandbox Code Playgroud)\n\n代替:
\n\n$1\nRun Code Online (Sandbox Code Playgroud)\n\n像这样使用:
\n\nvar\n RegEx: TPerlRegEx;\nbegin\n RegEx := TPerlRegEx.Create(nil);\n try\n Regex.RegEx := \'\\["(.+?)"\\]\';\n Regex.Subject := SubjectString; // ["any text between brackets and quotes"]\n Regex.Replacement := \'$1\';\n Regex.ReplaceAll;\n Result := Regex.Subject;\n finally\n RegEx.Free;\n end;\nend;\nRun Code Online (Sandbox Code Playgroud)\n\n怎么运行的:
\n\nMatch the character "[" literally \xc2\xab\\[\xc2\xbb\nMatch the character """ literally \xc2\xab"\xc2\xbb\nMatch the regular expression below and capture its match into backreference number 1 \xc2\xab(.+?)\xc2\xbb\n Match any single character that is not a line break character \xc2\xab.+?\xc2\xbb\n Between one and unlimited times, as few times as possible, expanding as needed (lazy) \xc2\xab+?\xc2\xbb\nMatch the character """ literally \xc2\xab"\xc2\xbb\nMatch the character "]" literally \xc2\xab\\]\xc2\xbb\n\n\nCreated with RegexBuddy\nRun Code Online (Sandbox Code Playgroud)\n