如何从双引号中提取字符串?
2022-08-30 13:48:03
我有一个字符串:
这是一个文本,“您的余额离开了$ 0.10”,结束0
我如何提取双引号之间的字符串,只有文本(没有双引号):
您的余额余额为 $0.10
我试过了,但没有运气。preg_match_all()
我有一个字符串:
这是一个文本,“您的余额离开了$ 0.10”,结束0
我如何提取双引号之间的字符串,只有文本(没有双引号):
您的余额余额为 $0.10
我试过了,但没有运气。preg_match_all()
只要格式保持不变,就可以使用正则表达式执行此操作。 将匹配模式"([^"]+)"
两边的括号表示该部分将作为单独的组返回。[^"]+
<?php
$str = 'This is a text, "Your Balance left $0.10", End 0';
//forward slashes are the start and end delimeters
//third parameter is the array we want to fill with matches
if (preg_match('/"([^"]+)"/', $str, $m)) {
print $m[1];
} else {
//preg_match returns the number of matches found,
//so if here didn't match pattern
}
//output: Your Balance left $0.10
对于每个寻找功能齐全的字符串解析器的人来说,请尝试以下操作:
(?:(?:"(?:\\"|[^"])+")|(?:'(?:\\'|[^'])+'));
用于preg_match:
$haystack = "something else before 'Lars\' Teststring in quotes' something else after";
preg_match("/(?:(?:\"(?:\\\\\"|[^\"])+\")|(?:'(?:\\\'|[^'])+'))/is",$haystack,$match);
返回:
Array
(
[0] => 'Lars\' Teststring in quotes'
)
这适用于单引号和双引号字符串片段。