gpt4 book ai didi

regex - 使用正则表达式查找行开始

转载 作者:行者123 更新时间:2023-12-03 20:43:52 27 4
gpt4 key购买 nike

在 Notepad++ 中使用正则表达式查找行首
我想从 div 中的所有 jQuery“完成”属性中删除一个 4000 行的 HTML 文件。

<DIV class=menu done27="1" done26="0"
done9="1" done8="0" done7="1"
done6="0" done4="20">
应替换为:
<DIV class=menu>
this experiment我可以用这个正则表达式做到这一点:
[ ^]done[0-9]+="[0-9]+"
使用 Notepad++ 5.6.8 Unicode,文件以 ANSI 编码,我将此正则表达式放在“查找内容”字段中。它只替换以空格开头的 5 次出现,它将错过从行首开始的 2 次出现。
如何构造正则表达式以删除以关键字开头的 HTML 元素的所有属性?

最佳答案

扩展将“\n”替换为“LINEBREAK”

非常感谢大家及时回复。按照你的建议,这是我所做的:

  • “ Notepad++ >查看>显示符号>显示行尾”在每一行的末尾显示“CR+LF”。
  • “ Notepad++ >搜索>查找”,“搜索模式”=“正常”,确保“查找内容”=“LINEBREAK”没有找到
  • "Search mode"= "Extended", "Find what"= "\n\r"只找到双换行符(CR + LF + 一个空行); "\n\r"一无所获;然而 "\n"确实能找到所有的换行符,而且只有它们。
  • 保存 我的“Towncar.htm”测试文件为“Towncar_02.htm”(也用ANSI编码)
  • 在“扩展”下,将所有“\n”替换为“LINEBREAK” (注意尾随空格)
  • 在“正则表达式”下,替换每个出现的:
     done[0-9]*="[0-9]*"

  • ( 在“完成”之前要小心检查是否有 HEADING SPACE
    并且没有尾随空间! 见下文)

    带有空字符串
  • 在“扩展”下,用“\n”替换每个出现的“LINEBREAK”(这次在“LINEBREAK”之后没有尾随空格!)
  • 检查生成的“Towncar.htm”文件(经过几次外观重新格式化后)看起来不错且漂亮,并且在刷新后,它仍然呈现与“Towncar_02.htm”备份相同的效果。

  • 召回和备注:
  • 这个论坛显然在 Chrome 4 中运行良好;但是对于某些浏览器(例如 IE6 和其他已停产的浏览器),在某些情况下会导致一些伪影;所以,小心:
  • 即使论坛没有在您的浏览器中显示它,也有 一个标题空间,即在 Regex 的开头(上面的“done...”正则表达式)和它的内部,所以只用起始空间替换以“done”开头的字符串,从而更确定不会改变最终带有“撤消”或“美沙酮”或其他字符串的其他字符串
  • 同理,即使论坛在浏览器中显示了一个,也有没有尾随空格 在正则表达式的末尾!
  • 在正则表达式中,[0-9] 匹配 1 次且仅出现 1 次出现的任何十进制数字(0-9 范围内的字符); IOW 它匹配 « 0 » 或 « 1 » 或 « 9 » 等,但不匹配 « 01 » 或 « 835 » 或 « »(空字符串)或任何一个。
  • *(星号)匹配前一个字符的 0 次或多次(这里它匹配空字符串或任何专门由数字组成的字符串)
  • 同样,+(加号)匹配前一个字符的 1 次或多次(这里它匹配任何字符串,至少 1 个字符长,完全由数字组成)
    引用:http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Regular_Expressions#Notepad.2B.2B_regex_syntax
  • 关于regex - 使用正则表达式查找行开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2681399/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com