除您指定的内容外,最简单的REGEX Capture传送方式?

问题描述

我一生中无法解决如何否定一切,但我想用REGEX捕获的东西却全部消失。

我和[^(\ d {4}-\ d {3}-\ d {3}]亲近

但是在powershell中使用以下输入进行替换: 1234-567-899 ABC 1W(23W)蓝色自行车30套件

我知道了:1234-567-8991(2330

代替1234-567-899

解决方法

您还可以使用正则表达式-replace删除除您要保留的内容以外的所有内容。

在您的示例中

"1234-567-899 ABC 1W(23W) BLUE BIKE30 KIT" -replace '^([-\d]+).*','$1'

将返回1234-567-899

,

请尝试使用(?:^\d{4}-\d{3}-\d{3})(.*)$

,

要匹配字符串开头<4-DIGITS>-<3-DIGITS>-<3-DIGITS>模式之后的任何文本,您可以使用

(?<=^\d{4}-\d{3}-\d{3}).*

请参见regex demo。详细信息:

  • (?<=^\d{4}-\d{3}-\d{3})-向后正向匹配,该位置与紧随其后的位置匹配
    • ^-字符串的开头
    • \d{4}-四位数
    • --连字符
    • \d{3}-\d{3}-三位数,-,三位数
  • .*-除换行符之外的任意0个或多个字符,并且尽可能多

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...