Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выражение нестоящие в " " и ' '
 
 автор: NSDaler   (11.06.2010 в 19:00)   письмо автору
 
 

помогите плз, написать регулярку, которая находит все то, что не находится в кавычках, то есть то, что не является строками плз
например:

abcde "1234fsdf" fgds


регулярка должна вернуть abcde fgds

  Ответить  
 
 автор: DEM   (16.06.2010 в 22:54)   письмо автору
 
   для: NSDaler   (11.06.2010 в 19:00)
 

Что-то вроде этого:

<?php
$a 
'abcde "1234fsdf" fgds';
$pattern "|(.+)\"(.+)\"(.+)|";
preg_match_all($pattern$a$out);
echo 
"<pre>";
print_r($out);
echo 
"</pre>";
?>

  Ответить  
 
 автор: Gubichev   (16.06.2010 в 23:05)   письмо автору
 
   для: DEM   (16.06.2010 в 22:54)
 

А что если

$a = 'abcde "1234fsdf" fgds "dfsdfdsf"'


Думаю тут лучше использовать preg_replace

<?php
$pattern 
"#\"[^\"]+\"#i";
echo 
preg_replace($pattern,"",$a);

  Ответить  
 
 автор: sms-send   (17.06.2010 в 00:03)   письмо автору
 
   для: NSDaler   (11.06.2010 в 19:00)
 

([^"']*+)(?:(["']).*?(?:\2|$)|$)

  Ответить  
 
 автор: NSDaler   (25.06.2010 в 17:25)   письмо автору
 
   для: sms-send   (17.06.2010 в 00:03)
 

а что значит (?:...)

  Ответить  
 
 автор: sms-send   (25.06.2010 в 20:41)   письмо автору
 
   для: NSDaler   (25.06.2010 в 17:25)
 

Несохраняющая подмаска, служит для группировки.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования