正则表达式查找搜索字段的结尾然后删除其余行
Regex Fine End of Search Field then remove rest of line
您好,我一直在寻找正则表达式,我可以找到我想要的大部分内容,但不太正确。
我正在尝试使用正则表达式查找替换,我可以开始工作,但不是我想要的方式。
我正在搜索的示例是
10/01/14PUT/a/users/84335httpetcetcetcete
10/01/14GET/a/users/663/badges?thisisatest
10/01/14GET/a/users/8836:thisisatestetc
我想做的是用户数字的末尾,如下所示,我临时输入的 % 我想删除该行的其余部分。
10/01/14PUT/a/users/84335%httpetcetcetcete
10/01/14GET/a/users/663%/badges?thisisatest
10/01/14GET/a/users/8836%:thisisatestetc
我一直在使用 s = s.regex.replace(s, "a/users/\d*", " ")
但这显然行不通,所以很接近。
非常感谢任何帮助。
非常感谢,VBVirg
怎么样:s = s.regex.replace(s, "(a/users/\d*).*", "")
这会将 "a/users/(digits)" 字符串保存到变量 (</code>),因此它不会被 <code>replace
函数删除。
我认为以下内容可以满足您的要求:
s = Regex.Replace(s, "^(.*\/users\/\d*).*$", "")
它的工作原理是捕获您感兴趣的字符串部分,然后仅用捕获的部分替换整个字符串。
您实际上是在正确的轨道上,您提出的正则表达式几乎就是您所需要的:
a/users/\d*
但是你的调用实际上是用 space.
替换了你想要保留的内容
您正在寻找的正则表达式更像这样:
(a\/users\/\d*).*$
您可以在 Replace()
方法中使用它,如下所示:
s = Regex.Replace(s, "(a\/users\/\d*).*$", "") />
是对捕获组的反向引用(括号中的正则表达式部分)。因此,这样做的目的是获取字符串中与正则表达式匹配的任何部分,并将其替换为捕获组中的内容。
您好,我一直在寻找正则表达式,我可以找到我想要的大部分内容,但不太正确。
我正在尝试使用正则表达式查找替换,我可以开始工作,但不是我想要的方式。
我正在搜索的示例是
10/01/14PUT/a/users/84335httpetcetcetcete
10/01/14GET/a/users/663/badges?thisisatest
10/01/14GET/a/users/8836:thisisatestetc
我想做的是用户数字的末尾,如下所示,我临时输入的 % 我想删除该行的其余部分。
10/01/14PUT/a/users/84335%httpetcetcetcete
10/01/14GET/a/users/663%/badges?thisisatest
10/01/14GET/a/users/8836%:thisisatestetc
我一直在使用 s = s.regex.replace(s, "a/users/\d*", " ")
但这显然行不通,所以很接近。
非常感谢任何帮助。
非常感谢,VBVirg
怎么样:s = s.regex.replace(s, "(a/users/\d*).*", "")
这会将 "a/users/(digits)" 字符串保存到变量 (</code>),因此它不会被 <code>replace
函数删除。
我认为以下内容可以满足您的要求:
s = Regex.Replace(s, "^(.*\/users\/\d*).*$", "")
它的工作原理是捕获您感兴趣的字符串部分,然后仅用捕获的部分替换整个字符串。
您实际上是在正确的轨道上,您提出的正则表达式几乎就是您所需要的:
a/users/\d*
但是你的调用实际上是用 space.
替换了你想要保留的内容您正在寻找的正则表达式更像这样:
(a\/users\/\d*).*$
您可以在 Replace()
方法中使用它,如下所示:
s = Regex.Replace(s, "(a\/users\/\d*).*$", "") />
是对捕获组的反向引用(括号中的正则表达式部分)。因此,这样做的目的是获取字符串中与正则表达式匹配的任何部分,并将其替换为捕获组中的内容。