【问题标题】:Regular expression to take on letter from imput从输入中获取字母的正则表达式
【发布时间】:2018-08-25 11:16:25
【问题描述】:

我正在制作一个问答表,需要一个正则表达式来接受输入,并将其替换为输入的第一个字母

例如:

hello world

变成:

h w

还有,我正在尝试改变:

(hello world)

到:

(___)HW

这是为答题纸创建记忆线索

【问题讨论】:

  • 你想要两个字符串的单一模式吗?
  • 您好 UnbearableLightness,我不确定您所说的“单一模式”是什么意思(抱歉,我对此很陌生)。对于括号内的每个文本实例,我想获取()中每个单词的第一个字母并将它们放在()之外
  • 所以(额叶)是(大脑)的一部分将变成()FL是()B的一部分
  • 太酷了!太感谢了!我实际上正在使用原子,它不适用于那里的查找和替换功能。它确实在正则表达式测试器中工作。关于我下一步应该做什么的任何建议。我是否应该离开 atom 编辑器并想办法在实际的编程语言中做到这一点……还是在 atom 中我需要考虑其他一些事情?
  • 括号中的单词数是否可变?你在 Python 中工作吗?

标签: python regex text


【解决方案1】:

您可以使用以下模式:

(\()([a-zA-Z])\S+ ?(?:([a-zA-Z])\S+)?(\))
  • (\() 第一个捕获组。匹配并捕获)
  • ([a-zA-Z]) 匹配并捕获信件。
  • \S+ ? 任何非空白字符,后跟可选的空白。
  • (?:([a-zA-Z])\S+)? 非捕获组。匹配并捕获字母,然后匹配任何非空格。非捕获组是可选的。
  • (\)) 匹配并捕获)

替换为:

\1___\4\U\2\3.

你可以试试正则表达式here


对于输入字符串:

(hello world)

The (Frontal Lobe) is a part of the (brain)

输出是:

(___)HW

The (___)FL is a part of the (___)B

【讨论】:

  • 非常感谢!这太棒了:D
  • @QuantumDuckGoesQuark 欢迎您,如果您觉得答案有用,请考虑投票 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-30
  • 1970-01-01
  • 2011-09-16
相关资源
最近更新 更多