正则表达式删除两侧的字母

时间:2013-08-17 09:30:20

标签: regex

我找不到可以删除一行两边所有字母的表达式。

数据样本:

Valencia 7x16/5x114.3 D71.6 ET48 Dark

我需要删除ValenciaDark等边上的所有字母,因此上一个字符串的输出应为:

7x16/5x114.3 D71.6 ET48

我尝试使用以下表达式,但它不起作用:

[^x./ETD\s0-9] 

2 个答案:

答案 0 :(得分:1)

从技术上讲,你不需要正则表达式:

$output = trim($input,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ");

但它可能更容易。

$output = preg_replace("/^\S+\s|\s\S+$/","",$input);

答案 1 :(得分:1)

描述

此表达式将:

  • 删除字符串的开头或结尾处的所有字母,直到第一个空格字符

正则表达式:^[a-z]*\s|\s[a-z]*$

替换为:空字符串

enter image description here

实施例

Live Demo

示例文字

Valencia 7x16/5x114.3 D71.6 ET48 Dark

替换后

7x16/5x114.3 D71.6 ET48