用换行符捕获空格并删除它们,可能使用RegEx
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用换行符捕获空格并删除它们,可能使用RegEx相关的知识,希望对你有一定的参考价值。
到目前为止,我有:https://regexr.com/511fs,但它并不仅仅捕获在[]内,我可能知道为什么,但是目前还没有找到更好的方法。
我有示例字符串:
<s f x> <n o r e p e a t : 1> [ S h a t t e r i n g G l a s s ] <s f x> <n o r e p e a t : 1> [ S h a t t e r i n g G l a s s ] <s f x> <n o r e p e a t : 1> [ B r e a k i n g C e r a m i c s ] <s f x> <n o r e p e a t : 1> [ S h a t t e r i n g c e r a m i c s ] <s f x> <n o r e p e a t : 1> [ S h a t t e r i n g m o n i t o r ] <s f x> [ M e l o n S p l a t ] <s f x> [ M e l o n S p l a t ]
我正在尝试基本上,现在我正试图仅删除括号[]
内部的空格。但是我失败了,并且需要如何做的帮助,我还没有找到解决方法。
似乎每个字母的前后都有一个空格,我想将其删除。
出来的应该是这个例子:
[Shattering Glass]
但还有其他事情意味着它看起来像这样,这就是最终结果
<sfx> <norepeat:1> [Shattering Glass]
例如。
RegEx很好用,我正在使用在线工具。还是还有另一种简单的方法?
在支持PCRE regex的regex测试器中,您可以使用
(?:\G(?!\A)|[[<])[^][<>\s]*\K\s+(?=[^][<>]*[]>])
请参见regex demo。
详细信息
- [
(?:\G(?!\A)|[[<])
-上一个成功匹配的结束(\G(?!\A)
)或(|
)一个[
或<
字符([[<]
)]的结束> - [
[^][<>\s]*
-除]
,[
,<
,>
和空格之外的任何0+个字符 - [
\K
-匹配重置运算符,它从匹配存储器缓冲区中丢弃到目前为止匹配的文本] \s+
-1+空格- [
(?=[^][<>]*[]>])
-紧接在右边,除了]
,[
,<
,>
,然后是>
或]
。必须有0+个字符。
以上是关于用换行符捕获空格并删除它们,可能使用RegEx的主要内容,如果未能解决你的问题,请参考以下文章