Regex 正则表达式替换记事本中的html空格和前导空格++;
我尝试使用下面的正则表达式来删除html空格和前导空格Regex 正则表达式替换记事本中的html空格和前导空格++;,regex,notepad++,Regex,Notepad++,我尝试使用下面的正则表达式来删除html空格和前导空格 Find: \s*([<>])\s* Replace: $1 Find:\s*([])\s* 替换:1美元 但每次我这样做,我的文档中都会出现186处1美元的文字。如蒙协助,将不胜感激 这是我所说的一个例子 这个 原AA 特征: 2柱矩形圆顶帐篷,带有13.4平方英尺的前厅储物空间 耐用、防震、自支撑玻璃纤维框架、环和销/杆口袋组件 2个侧开门门板完全由无see um网构成,以最大限度地增加内部气流 侧壁上的突出通
Find: \s*([<>])\s*
Replace: $1
Find:\s*([])\s*
替换:1美元
但每次我这样做,我的文档中都会出现186处1美元的文字。如蒙协助,将不胜感激
这是我所说的一个例子
这个
原AA
特征:
- 2柱矩形圆顶帐篷,带有13.4平方英尺的前厅储物空间
- 耐用、防震、自支撑玻璃纤维框架、环和销/杆口袋组件
- 2个侧开门门板完全由无see um网构成,以最大限度地增加内部气流
- 侧壁上的突出通风孔允许在需要时选择额外通风
- 2个内部储物袋,方便携带基本物品规格:
- 季节:3
- 睡觉时间:2
- 门:2
- 窗口:2
- 重量:5磅12盎司
- 面积:36.5平方英尺
- 中心高度:3'7.5“
应成为:
<fieldset id="prod_desc"><p>Original AA</p><b>Features:</b><ul><li>2 pole rectangular dome tent with 13.4 sq ft of vestibule storage</li><li>Durable, shockcorded, self-supporting fiberglass frame and ring and pin/pole pocket assembly</li><li>2 side opening door panels are constructed entirely of no see-um mesh to maximize air flow inside</li><li>Poke-out vent in side wall allows the option of additional ventilation when needed</li><li>2 interior storage pockets keep essential items handy Specifications:</li><li>Season: 3</li><li>Sleeps: 2</li><li>Doors: 2</li><li>Windows: 2</li><li>Weight: 5 lbs 12 oz</li><li>Area: 36.5 Sq. Ft.</li><li>Center Height: 3' 7.5"</li></ul></fieldset>
原装AA特点:- 2杆矩形圆顶帐篷,前厅储物空间为13.4平方英尺
- 耐用、防震、自支撑的玻璃纤维框架、环和销/杆口袋组件
- 2个侧开门门板完全由无缝网眼构成,以最大限度地提高内部气流
- 侧墙中的通风口当需要时,允许选择额外的通风设备。
- 2个内部储物袋方便地存放基本物品规格:
- 季节:3个睡房:2个门:2个窗:2个重量:5磅12盎司面积:36.5平方英尺。
- 中心高度:3'7.5”
Notepad++在6.0版之前引入PCRE对查找和替换的支持时,不支持$1
的反向引用。对于旧版本,请使用\1
进行反向引用
您应该找到\s*(]+>)\s*
。从2012年3月发布的Notepad++6.0版开始,仅此一项就适用于您。我试过你原来的正则表达式,它也很管用,这让我很惊讶
以前的版本不能进行多行正则表达式替换。要剥离换行符,请先执行正则表达式替换,然后执行扩展查找(UNIX行结尾):
对于Windows线条端点:
\n
\r\n
将任一大小写替换为空。您可以使用表达式
\s+\\s+
并替换为$1(或记事本++中的\1)
或者您可以使用这种方法:
- 首先,匹配
\s+\
\1
我会看一个插件,可能是带有适当设置的HTML Tidy。用正则表达式解析HTML会带来麻烦。@capnhud:至少不应该用literal\1
替换它;请看我的编辑。当我说它不起作用时,我指的是不,它不替换为文本$1,而是删除了每行标记前面的前导空格。因此,我仍然有75行代码,而不是用一行代码来结束所有的html,这就成功了。谢谢你告诉我一些关于notepad++@capnhud的信息:没问题,我自己也是一个老用户:)这个表达式仍然完成了与\s*([])\s*相同的事情,他们没有删除行。听起来notepad++在正则表达式搜索中有一些有趣的行为,可能只是逐行搜索<代码>\s+应该可以工作。你可以一直搜索\n
,然后用nothing替换。BoltClock告诉我notepad++不做多行正则表达式替换。
\r\n