javascript - 正则表达式替换第一行的某些字符

标签 javascript regex

我认为这是一件非常简单的事情,但我无法在网上的任何地方找到答案。我找到了关于如何匹配多行字符串中的整个第一行的结果,但没有找到如何仅在第一行找到某个字符的所有匹配项。

例如:

HelloX dXudXe
How areX yXou?
FxIXne?

仅在第一行匹配所有大写的 X,并将其替换为任何内容将导致:

Hello dude
How areX yXou?
FxIXne?

这只匹配第一个 X:

/X/m

这匹配所有 X:

/X/g

所以我猜答案是这些语句之一的正则表达式版本:

"Replace all X characters until you find a newline"
"Replace all X characters in the first line"

这听起来很简单,是吗?如果是这样,怎么办?我花了几个小时寻找解决方案,但我想也许我根本不了解正则表达式逻辑。

最佳答案

在不知道你使用的确切语言的情况下,很难举个例子,但理论很简单:

如果您有一项复杂的任务,请将其分解。

在这种情况下,您只想对第一行做一些事情。因此,分两步进行:

  1. 确定第一行
  2. 对其执行操作。

此处以 JavaScript 为例,您的代码可能如下所示:

var input =
    "HelloX dXudXe" + "\n" +
    "How areX yXou?" + "\n" +
    "FxIXne?";

var result = input.replace(/^.*/,function(m) {
    return m.replace(/X/g,'');
});

看看我是如何先抓取第一行,然后再对其进行操作的?这种分解问题是一项很好的学习技能;)

关于javascript - 正则表达式替换第一行的某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29957123/

相关文章:

javascript - 点击元素后如何触发 'focusout'?

javascript - 正则表达式将 Javascript 字符串拆分为两个字符串

没有编号数组的 PHP 子模式

javascript - 如何在 react Material 表的列中添加自定义复选框?

Javascript mouseDown - 无法读取未定义的 currentTarget

javascript - 处理在 Ajax 中更改的多个数据/参数 - Wordpress

javascript - 自动为博客中的每个视频添加 html 代码

ios - 使用2种模式时遇到正则表达式问题

regex - 如何匹配任一/或正则表达式

javascript - 正则表达式匹配字符串中除数据值属性之外的所有属性