如何使用 sublime text 中的正则表达式删除单词之间的空格?
How to remove spaces between words using regular expression in sublime text?
我有一些值如下所示:
$lang['Delivery Charge'] = 'Delivery Charge';
$lang['Frequently Asked Questions'] = 'Frequently Asked Questions';
我正在使用这个正则表达式来 select 变量索引:
$lang\['.*'\]
现在我如何才能只为不在值中的变量索引替换单词之间的空格。
我的意思是我的最终结果如下:
$lang['DeliveryCharge'] = 'Delivery Charge';
$lang['FrequentlyAskedQuestions'] = 'Frequently Asked Questions';
提前致谢!
你可以使用
(?:$\w+\['|\G(?!^))\w+\K\h+
说明
(?:
非捕获组
$\w+\['
匹配 $
和 1+ 个单词字符和 ['
|
或
\G(?!^)
声明上一场比赛结束时的位置,而不是开始
)
关闭非捕获组
\w+
匹配 1+ 个单词字符
\K\h+
重置匹配缓冲区并匹配 1+ 个水平空白字符
并替换为空字符串
要同时检查结束 ]
,其中之间不能有方括号,您可以添加正向先行:
(?:$\w+\['|\G(?!^))\w+\K\h+(?=[^][]*'])
我有一些值如下所示:
$lang['Delivery Charge'] = 'Delivery Charge';
$lang['Frequently Asked Questions'] = 'Frequently Asked Questions';
我正在使用这个正则表达式来 select 变量索引:
$lang\['.*'\]
现在我如何才能只为不在值中的变量索引替换单词之间的空格。
我的意思是我的最终结果如下:
$lang['DeliveryCharge'] = 'Delivery Charge';
$lang['FrequentlyAskedQuestions'] = 'Frequently Asked Questions';
提前致谢!
你可以使用
(?:$\w+\['|\G(?!^))\w+\K\h+
说明
(?:
非捕获组$\w+\['
匹配$
和 1+ 个单词字符和['
|
或\G(?!^)
声明上一场比赛结束时的位置,而不是开始
)
关闭非捕获组\w+
匹配 1+ 个单词字符\K\h+
重置匹配缓冲区并匹配 1+ 个水平空白字符
并替换为空字符串
要同时检查结束 ]
,其中之间不能有方括号,您可以添加正向先行:
(?:$\w+\['|\G(?!^))\w+\K\h+(?=[^][]*'])