【问题标题】:Use regex to search and replace for characters in a word使用正则表达式搜索和替换单词中的字符
【发布时间】:2018-03-27 09:17:44
【问题描述】:

使用正则表达式,我如何检查一个单词以某个字符开头并以另一个字符结尾的天气? 比如“black”这个词,如何用正则表达式检查它是“b”开头,“k”结尾?

然后我可以使用“搜索和替换”tasker 内置功能对这两个字符进行替换吗,例如,“place”而不是“black”,将“b”替换为“p”和“ k" 和 "e" 分别是什么?

我在 android 的 tasker 程序中使用它来检查联系人并根据上述情况做出决定。

提前致谢。

【问题讨论】:

  • 查看docs:正则表达式匹配可用:1) 在操作的If 条件中,当指定~R 或!~R 运算符时。 2) 在变量搜索替换操作中 3) 在变量值状态的条件下 4) 在任何可能进行简单匹配的地方,通过在正则表达式前面加上 ~R 或 !~R.... 简单匹配用在以下地方:1)在动作的If条件中,当指定~(匹配)或!~(不匹配)运算符时。 2)在状态和事件上下文的文本参数中 3)其他一些地方:-)
  • 你确定你在正确的地方使用 regex 吗?如果是\bb([a-zA-Z]*)k\b 替换为p$1e 必须有效。否则,简单匹配是没有办法的。

标签: android regex search replace tasker


【解决方案1】:

听起来你想要\sb([a-zA-Z]*)k\s

这将匹配外部的b and k,并确保其周围有空间与\s。

[a-zA-Z]* 将确保它匹配字母表中的任意数量的字符。

圆括号将保存其中的任何内容,并且可以使用$1 检索,因此您应该可以将其替换为p$1e

【讨论】:

  • 感谢您的回复。我在tasker中尝试过,但没有奏效。可能是tasker使用另一种编写正则表达式的方式?!
猜你喜欢
  • 1970-01-01
  • 2010-11-19
  • 1970-01-01
  • 2013-06-14
  • 1970-01-01
  • 2012-03-10
  • 2013-11-30
  • 1970-01-01
相关资源
最近更新 更多