-2

次のようなパターンの文字列があります

1. ABC No 5
2. PQR - XYZ
3. ABC (PQR)

画面の最初の数字とピリオドのみを削除し、画面の残りの部分をそのまま維持する正規表現を誰かが指定できますか?

  • 1.から削除1. ABC No 5
  • 2.から削除2. PQR - XYZ

4

4 に答える 4

2

動作するはずの置換式を次に示します。

 s/^\d+\.//

使用している言語については言及していないため、言語/API が正規表現の検索と置換をどのように公開するかによって実装が異なります。たとえば、一度に 1 つの入力行を処理している場合、PHP では次のようにすることができます。

$myVar = preg_replace('/^\d+\./', '', $myVar);

Javaでは、これを行うことができます:

myVar = myVar.replaceFirst("^\\d+\\.", "");
于 2012-12-07T18:21:58.557 に答える
0

Regex:^[0-9]+\.

^ # Matches the start of the line

[0-9]* # Matches one or more digits

\. # Matches the period (escaped as . matches anything in regex) and the space 

使用sed:

$ cat file
1. ABC No 5
2. PQR - XYZ
3. ABC (PQR)

$ sed -E 's/^[0-9]+\. //' file
ABC No 5
PQR - XYZ
ABC (PQR)

ただし、ここでは正規表現は必ずしも必要ではありません-

使用cut:

$ cut -d' ' -f2- file
ABC No 5
PQR - XYZ
ABC (PQR)

使用Awk:

$ awk -F. '{print $2}' file
 ABC No 5
 PQR - XYZ
 ABC (PQR)
于 2012-12-07T18:24:44.737 に答える
0

パールで

$cadena ="1111. ABC No 5";
$cadena =~ s/^[\d\.]+//;
print $cadena;
于 2012-12-07T18:27:19.680 に答える
0

パール:

while(<>) {
  print $_ unless /[^-0-9]/
}
于 2012-12-07T18:42:03.627 に答える