正则表达式保留/匹配任何以特定字符开头的单词
regexp keep/match any word that starts with a certain character
我只想保留以 # 或 @ 开头的字符串
- 福巴@sushi - 芥末
- 福巴 #sushi - 辣根
因此,仅匹配@susui或删除其周围的文本。PHP 或 JavaScript。
根据你如何定义"单词",你可能想要
(?<='s|^)[@#]'S+
或
(?<='s|^)[@#]'w+
解释:
(?<='s|^) # Assert that the previous character is a space (or start of string)
[@#] # Match @ or #
'S+ # Match one or more non-space characters
(or 'w+) # Match one or more alphanumeric characters.
所以,在 PHP 中:
preg_match_all('/(?<='s|^)[@#]'S+/', $subject, $result, PREG_PATTERN_ORDER);
为您提供一个数组$result
字符串$subject
中的所有匹配项。在 JavaScript 中,这是行不通的,因为 lookbehinds("Assert..."部分从正则表达式的开头)不受支持。
相关文章:
- 如果文本或值以字符开头,请运行函数
- 用于删除字符串中字符开头到结尾的正则表达式
- 验证模式中的HTML5不适用于以一些特定字符开头的字符串
- 获取javascript中以a到Z之间的特定字符开头的第一个文本的位置
- 正则表达式保留/匹配任何以特定字符开头的单词
- 密码正则表达式:“至少 1 个字母、1 个数字、1 个特殊字符,并且不应以特殊字符开头”
- JavaScript 正则表达式,用于获取以 @ 字符开头的字符串中的变量列表
- D3 - 如果文本以字符“f”开头,则附加矩形,否则附加圆圈
- 如果文本以这些字符开头或结尾,请删除字符
- 替换以给定字符开头的字符串
- 获取以字符开头的子字符串
- 如何在javascript中用一个特殊字符开头的单词内的空格替换下划线
- 仅当字符串没有't以一些字符开头
- 以字符开头、以数字结尾的字符串的模式匹配
- Regex: 用于不以单词字符开头的字符串
- 如何知道字符串以 javascript 中的特定字符开头/结尾
- Regex匹配所有单词,但以特殊字符开头和结尾的单词除外
- JavaScript删除字符串中以字符开头的行
- 从以某个字符开头的文本中分割单词
- 匹配包含下划线、小写ASCII字母、ASCII数字、连字符或点的字符串,但不能以点和连字符开头