首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >清理字符串,使其仅以_、-、$或letter开头,其余字符只能包含这些字符

清理字符串,使其仅以_、-、$或letter开头,其余字符只能包含这些字符
EN

Stack Overflow用户
提问于 2020-07-28 02:53:52
回答 1查看 47关注 0票数 0

如何编写一个正则表达式,使其仅将由任意字符组成的标准字符串转换为仅以_-$或非重音字母开头,而字符串的其余部分只能包含这些字符或非重音字母?

我可以用preg_replace("/[^a-zA-Z]/", "", $value)得到所有的非数字,但这不是我需要的。

我想要做的是获取一个字符串,该字符串的首字母可能是4_The quick brown fox jumps o8ver the lazy dog and the slow white dog fox jumps over the unlazy fox.,并将其转换为_Thequickbrownfoxjumpsoverthelazydogandtheslowwhitedogfoxjumpsovertheunlazyfox

EN

回答 1

Stack Overflow用户

发布于 2020-12-22 05:50:17

以下模式将删除一个或多个不在连字符、下划线、美元符号或字母白名单上的字符。

当在整个字符串中使用相同的清理时,没有必要指定字符串的开头。

代码:(Demo)

代码语言:javascript
复制
$string = '4_The quick brown fox jumps o8ver the lazy dog and the slow white dog fox jumps over the unlazy fox.';

var_export(
    preg_replace(
        '~[^-_$a-z]+~i',
        '',
        $string
    )
);

输出:

代码语言:javascript
复制
'_Thequickbrownfoxjumpsoverthelazydogandtheslowwhitedogfoxjumpsovertheunlazyfox'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63121728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档