【问题标题】:Regex to check number of spaces after full stop - Strictly 2 required正则表达式检查句号后的空格数 - 严格要求 2
【发布时间】:2019-10-12 20:28:10
【问题描述】:

我需要检查我在句号后放置一个空格的情况,并将其替换为 2 个空格。我有它的正则表达式,但 Atom 似乎调用无效。

(?<=\.|\") {1,}(?=[a-zA-Z])

条件:

  1. 句号后有 1 个空格。
  2. 如果句点带有右双引号,则在引号后加 1 个空格。

上面的正则表达式非常适合我的条件,但是 Atom 无法验证它。我需要将它用于现有文件。

【问题讨论】:

  • 你想在这里做什么?删除/替换什么?您能否提供一个具有预期结果的示例文本?
  • 如果需要替换为单个空格,尝试([."]) {2,}(?=[a-zA-Z]),替换为"$1 "(不带引号)
  • 嘿,我正在尝试检查我的文本是否符合上述条件。如果有什么地方我错过了放 2 个空格。所以我认为理想情况下我应该在句号之后检查 1 个空格。
  • 我已经改进了这个问题。
  • 那么即使([."]) ([a-zA-Z]) 替换为$1 $2($1 和$2 之间的两个空格)也应该可以。见this regex demo。

标签: regex atom-editor


【解决方案1】:

你可以使用

([."]) ([a-zA-Z])

并替换为$1 $2。请参阅regex demo 和regex graph:

详情

  • ([."]) - 第 1 组(其值由替换模式中的 $1 反向引用引用):. 或 "
  • - 一个空格(使用\s 匹配任何空格)
  • ([a-zA-Z]) - 第 2 组 ($2):一个 ASCII 字母。

【讨论】:

  • 谢谢你!请问你能不能让它只选择句号?如sentence ends. 或sentence ends." 注意句号后的空格,在第二种情况下,如果是在结束引号之后。现在它甚至选择不以句号结尾的引号。要遵循的规则是句号后加 1 个空格,如果句号在结束引号内,则在结束引号后加空格。
  • 无论如何我都会接受答案,因为它对我有用。
  • @RutwickGangurde 我猜你想要(\.") ([a-zA-Z])
  • 完美。我从第一个中删除了",因此它会搜索句点和空格。对吗?
  • @RutwickGangurde 如果它按预期工作,是的 :) 如果您需要搜索 <period><space><letter>,请使用 (\.) ([a-zA-Z])
猜你喜欢
  • 1970-01-01
  • 2012-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多