我遇到了以下正则表达式模式的问题:
m).*?^([^n]*)(modified)([^n]*)$.*
我想用替换剪贴板
Clipboard := RegExReplace(Clipboard, "m).*?^([^n]*)(modified)([^n]*)$.*" ,"" )
来源看起来像:
Ask Question Interesting 326 Featured
Hot Week Month 1 vote 0 answers 12 views
Type Guard for empty object
typescript modified 2 mins ago kremerd 312
0 votes
预期结果应为:
typescript modified 2 mins ago kremerd 312
但它没有取而代之的。如果这有效,我想通过使用regExMatch稍后获取标记名^([^n]*)
。
我正在使用qazxsw poi的autohotkey(一个Windows开源)编写脚本
您想匹配包含https://autohotkey.com子字符串的行。默认情况下,正则表达式中的点与换行符不匹配,因此您需要传递modified
(DOTALL)修饰符(您可以将它与s
,MULTILINE,使m
匹配字符串位置的起点和^
的修饰符一起添加以匹配行尾位置)。此外,为了匹配非换行,你需要$
(而不是[^\n]
)。
要解决您可能使用的问题
[^n]
通过RegExMatch(Clipboard, "s)^.*?(\n[^\n]*)(modified|asked|answered)", res)
获取整行值,通过res
获取关键字前的文本,使用res1
获取关键字本身。
细节
res2
- s)
现在匹配包括换行符的任何字符.
- 字符串的开头^
- 任何0+字符,尽可能少.*?
- 第1组(稍后通过(\n[^\n]*)
访问):换行后跟0行字符而不是换行字符res1
- 三种选择中的任何一种:(modified|asked|answered)
,modified
或asked
。