替换特定字符之前的所有尾随空格
本文关键字:空格 字符 替换 | 更新日期: 2023-09-27 18:33:55
我正在解析因拥有各种字符而臭名昭著的鼻息规则。我特别试图用右括号替换最后一个右括号之前的所有尾随空格:
简单的例子:
alert tcp any any -> any any (msg: "jons test"; flow: to_server,established; content:"/ui/"; nocase; content:"/getlatestversion?ver="; nocase; sid:1002496; rev:1; )
应该是:
alert tcp any any -> any any (msg: "jons test"; flow: to_server,established; content:"/ui/"; nocase; content:"/getlatestversion?ver="; nocase; sid:1002496; rev:1;)
我试过了
string newRuleText = Regex.Replace(this.textBox1.Text, "s+'')$", ")");
和
string newRuleText = Regex.Replace(this.textBox1.Text, "''s+'')$", ")");
但是newRuleText字符串仍然没有变化。
问题与
正确的正则表达式无关。我已经执行了这个:
System.Text.RegularExpressions.Regex.Replace("alert tcp any any -> any any (msg: '"jons test'"; flow: to_server,established; content:'"/ui/'"; nocase; content:'"/getlatestversion?ver='"; nocase; sid:1002496; rev:1; )","''s+'')$",")")
结果是:
"alert tcp any any -> any any (msg: '"jons test'"; flow: to_server,established; content:'"/ui/'"; nocase; content:'"/getlatestversion?ver='"; nocase; sid:1002496; rev:1;)"
可能是")"不是字符串的最后一个字符。
您是否使用"''s+'')"进行了测试?
如果这有效,则问题与 $ 有关,并且")"不是最后一个字符