获取由“#$”分隔的单词
如何将以下字符串中的三个单词与 Perl 兼容的正则表达式匹配?
word1#$word2#$word3
我事先不知道实际的单词“word1、word2和word3”。 我只知道分隔符,即#$
。
而且我无法使用字边界,因为我有多字节编码。 例如,这意味着字符串可以包含 \w
控制字符无法检测到的非 ASCII 字符,例如变音符号。
How can I match the three words in the following string with a Perl compatible regular expression?
word1#$word2#$word3
I don't know the actual words "word1, word2 and word3" in advance. I only know the separator, which is #$
.
And I can't use the word boundary as I have a multibyte encoding. This means for instance that the string can contain non-ASCII characters like umlauts which are not detected by the \w
control character.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这适用于任何具有 2 个
#
的字符串This will work for any string that has 2
#
分割函数可能很有用,尽管它取决于您想对线路执行什么操作。
不过,这是一个例子。
A split function might be useful although it depends what you want to do with the line.
here is an example though.
正则表达式对此来说太过分了。
Regex is overkill for this.
试试这个正则表达式:
编辑 在您向我们提供更多信息后(请参阅对此答案的评论):
Try this regular expression:
Edit After your provided us with more information (see the comments to this answer):