【问题标题】:How to extract the medium letter of a word using only regex如何仅使用正则表达式提取单词的中间字母
【发布时间】:2012-10-29 20:52:12
【问题描述】:

如何仅使用正则表达式提取单词的中间字母 例如:

"someWord" -> "e" or "W" no sense
"Hello" -> "l"
"Music" -> "s"
"four" -> "o" or "u" no sense

【问题讨论】:

  • no sense 是什么意思?
  • 为什么它是正则表达式?使用substr 会容易得多。
  • 你用什么语言工作?
  • 我猜“没有意义”的意思是“没关系”。
  • 如果字符串的长度可以被二除,那么无论如何都会返回len/2个字母或者len/2+1个字母

标签: regex


【解决方案1】:

Id 对这种任务使用正则表达式没有意义!

由于我不知道你使用什么环境和语言,我可以给你一个大概的方案:

pattern = '^.{' + Int(Length(str)/2) + '}(.)'

pattern = '(?<=^.{' + Int(Length(str)/2) + '}).'

【讨论】:

  • 我认为它没有意义的事实并没有真正使它成为一个无效的问题。尝试使用正则表达式达到可能的边界,也可能会更深入地了解正则表达式以进行合理的应用。就像thisthis question。它们当然不适合生产性使用,但它们教会了你很多关于正则表达式的知识。但是,我认为这个问题确实超出了纯正则表达式,即使使用(?R)
猜你喜欢
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多