RegEx删除DOT

时间:2016-08-09 12:17:45

标签: regex regular-language

我想删除点(。),但我不知道如何编写此模式。

我有一些文字。

  

E-1-2-3.1-0-0或E-1-2-0-2.5-0或E-1-2-0-3.5-0

但在我的文中,有些数字是2.5,56.7。我不想删除这些点是小数点。

如果在行中,那么我需要删除点。 class Index extends CI_Controller { public function index() { $data = array(); //$this->blade->render('index' , $data ); $this->load->view('welcome_message'); } } 将为-5.2-

-52-E-1-2-3.1-0-0
E-1-2-31-0-0 E-1-2-0-2.5-0E-1-2-0-25-0 E-1-2-0-3.5-0E-1-2-0-35-0

里面可以有DOT或NOT。

有关此模式的任何帮助吗?

1 个答案:

答案 0 :(得分:1)

如果您只需要匹配由破折号和数字破折号包围的点,请尝试正面看法:

(?<=-\d)\.(?=\d-)

演示:https://regex101.com/r/nY7fA9/1

如果你需要匹配由数字和数字 - 破折号(任何正数位数)包围的点,那么事情就更棘手了,因为lookbehinds不支持许多正则表达式中的量词。在这种情况下,您可以将前缀与普通正则表达式匹配,并立即将匹配项重置为\K

-\d+\K\.(?=\d+-)

演示:https://regex101.com/r/nY7fA9/2