小编Gaw*_*wil的帖子

正则表达式游戏 - 用可变数量的字符替换除特定单词之外的每个单词

嘿那里,你是正则表达的恋人!

这些时候,我在Regex中,并且有一个纯粹的理论问题.简单来说,我会把它作为一个游戏来呈现.

游戏:
假设你有一个由空格分隔的单词列表.
我称之为单词是因为它们是由正则表达式定义的:( [a-zA-Z_0-9]+这里没有空字)
列表示例:
Horse Banana Joker RoXx0r A_Long_Word Joker 1337

我要你做的是将除了Joker之外的每个单词替换为$等于字符数的$匹配的单词.
通过我们之前的列表,我们将获得:
$$$$$ $$$$$$ Joker $$$$$$ $$$$$$$$$$$ Joker $$$$

用更少的单词: 我想要一个正则表达式匹配每个不属于单词"Joker"的字符(在字符串中,我的意思是,不是那个组成单词Joker)

虽然这并不容易,这不是不可能的(我有自己的正则表达式).这就是为什么我会制定一些规则.

规则 :

  • 它必须只有1个正则表达式
  • 我不接受任何仅适用于特定语言的正则表达式
  • 我仍然会接受最常见的功能,如Conditional,Lookarounds等......即使某些语言无法读取它们
  • 不允许递归(但如果你有一个递归的递归,发布它,只是为了正则表达式的美丽^^)
  • 必须针对性能优化正则表达式
  • 如果你的正则表达式匹配(得到它?;))这些规则但不满足我,我会随意添加一些规则

添加规则:

  • 没有



为了帮助你,这里有正则表达式必须工作的一些字符串:
Horse Banana Joker RoXx0r A_Long_Word Joker 1337 Joke Poker Joker Jokers
更换
$$$$$ $$$$$$ Joker $$$$$$ $$$$$$$$$$$ Joker $$$$ $$$$ $$$$$ Joker $$$$$$

Joker Joker Joker
后必须返回:更换后必须返回:
Joker Joker Joker …

regex

7
推荐指数
1
解决办法
318
查看次数

标签 统计

regex ×1