2013-09-20 3 views
0

Нужна помощь в вычислении регулярного выражения, где мне нужно удалить все данные между {{и}}?Регулярное выражение, опустить скобку

Ниже coupus:

{{for|the American actor|Russ Conway (actor)}} 
{{Use dmy dates|date=November 2012}} 
{{Infobox musical artist <!-- See Wikipedia:WikiProject_Musicians --> 
| birth_name   = Trevor Herbert Stanford 
| birth_date   = {{birth date|1925|09|2|df=y}} 
| birth_place   = [[Bristol]], [[England]], UK 
| death_date   = {{death date and age|2000|11|16|1925|09|02|df=y}} 
| death_place   = [[Eastbourne]], [[Sussex]], England, UK 
| origin    = 
}} 

record|hits]].<ref name="British Hit Singles & Albums"/> 

{{reflist}} 

==External links== 
*[http://www.russconway.co.uk/ Russ Conway] 
*{{YouTube|TnIpQhDn4Zg|Russ Conway playing Side Saddle}} 

{{Authority control|VIAF=41343596}} 

<!-- Metadata: see [[Wikipedia:Persondata]] --> 
{{Persondata 
| NAME    =Conway, Russ 
}} 
{{DEFAULTSORT:Conway, Russ}} 
[[Category:1925 births]] 

Ниже выход все фигурные скобки удаляются вместе с текстом в ней:

record|hits]].<ref name="British Hit Singles & Albums"/> 
==External links== 
*[http://www.russconway.co.uk/ Russ Conway] 
* 
<!-- Metadata: see [[Wikipedia:Persondata]] --> 
[[Category:1925 births]] 

PS - Я опустил пространство в вывода, я позабочусь об этом.

+0

Покажите нам, что вы пытались – slebetman

ответ

0

Это будет заботиться о вложенной {{ }}

Matcher m=Pattern.compile("\\{[^{}]*\\}").matcher(input); 
while(m.find()) 
{ 
    input=m.replaceAll(""); 
    m.reset(input); 
} 
+0

Большое спасибо, это работал :) – Ankit

+0

Хотя это сработало, я не могу понять, как вы сравниваете индекс? – Ankit

+0

'[^ {}] *' будет соответствовать 0 для многих символов, которые не являются '{', '}' .. Так что если у вас есть вложенный '{{}}', это приведет к удалению не вложенных '{{}} '... Итак, нам нужно продолжать заменять, пока у нас не будет' {{'в строке – Anirudha

0
string.replaceAll("\\{\\{[\\s\\S]*?\\}\\}",""); 

будет производить:

 




record|hits]].<ref name="British Hit Singles & Albums"/> 



==External links== 
*[http://www.russconway.co.uk/ Russ Conway] 
* 



<!-- Metadata: see [[Wikipedia:Persondata]] --> 


[[Category:1925 births]] 
+0

Привет, приведенное выше выражение не будет заботиться о вложенные фигурные скобки ... например, например, в этом блоке: {{Музыкальный художник Infobox <! - См. Википедия: WikiProject_Musicians - > | birth_name = Тревор Герберт Стэнфорд | birth_date = {{дата рождения | 1925 | 09 | 2 | df = y}} | birth_place = [[Бристоль]], [[Англия]], Великобритания | death_date = {{дата и возраст смерти | 2000 | 11 | 16 | 1925 | 09 | 02 | df = y}} | death_place = [[Истбурн]], [[Сассекс]], Англия, Великобритания | происхождение = }} он пропустит данные после | birth_place ... – Ankit

+0

Вы не можете разобрать вложенное выражение с помощью Regex, потому что оно не является регулярным. Это похоже на разбор HTML с использованием Regex, который обсуждается в этом сообщении: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – justhalf

Смежные вопросы