¿Qué es la expresión regular para encontrar las cadenas que comienzan con [y terminan con]. Entre [y] todo tipo de personaje están bien.RegEx comienza con [y termina en]
Respuesta
[
y ]
son caracteres especiales en las expresiones regulares, por lo que necesita para escapar de ellos. Esto debería funcionar para usted:
\[.*?\]
.*?
hace comparaciones no expansivo de cualquier carácter. El aspecto no codicioso asegura que coincidirá con [abc]
en lugar de [abc]def]
. Agregue un ^
líder y un $
posterior si desea hacer coincidir toda la cadena, p. no hay coincidencia alguna en abc[def]ghi
.
Gracias. Esto funcionó para mí. – KBBWrite
^\[.*\]$
coincidirá con una cadena que comienza con [
y termina con ]
. En C#:
foundMatch = Regex.IsMatch(subjectString, @"^\[.*\]$");
Si usted está buscando cadenas soporte delimitado dentro de cadenas más largas (por ejemplo, encontrar [bar]
dentro foo [bar] baz
), a continuación, utilizar
\[[^[\]]*\]
en C#:
MatchCollection allMatchResults = null;
Regex regexObj = new Regex(@"\[[^[\]]*\]");
allMatchResults = regexObj.Matches(subjectString);
Explicación:
\[ # match a literal [
[^[\]]* # match zero or more characters except [ or ]
\] # match a literal ]
No estoy seguro si la respuesta suya o de Thecoop es la mejor, pero asumo la suya porque el OP nunca mencionó que debería haber CUALQUIER carácter entre el [y], y por lo tanto su '*' es una mejor coincidencia que thecoop's '+ '. – Bazzz
esto debería funcionar:
^\[.+\]$
^
es 'inicio de cadena'
\[
es un escaparon [porque [es un carácter de control
.+
partidos todas las cadenas de longitud> = 1 (.
es 'cualquier carácter', +
significa 'coincide con el patrón anterior una o más veces')
\]
es un escapado]
$
es 'end of strin' g'
Si desea hacer coincidir []
, así, cambiar el +
a un *
('cero o más veces')
A continuación, utilice la clase Regex
para que coincida con:
bool match = Regex.IsMatch(input, "^\[.+\]$");
o , si está usando esto varias veces o en un bucle, crear una instancia Regex
para un mejor rendimiento:
private static readonly Regex s_MyRegexPatternThingy = new Regex("^\[.+\]$");
bool match = s_MyRegexPatternThingy.IsMatch(input);
La expresión trabajada es \ [. *? \]; Sin embargo, su descripción también es útil – KBBWrite
Debe usar el carácter de escape \
para corchetes.
Utilice .+
si desea tener al menos 1 carácter entre corchetes o .*
si acepta esta cadena: []
.
^\[.*\]$
- 1. C++ 11 regex: comprobando si la cadena comienza con regex
- 2. cadena que comienza con la extracción y termina con algo en C#
- 3. Comprobando si String termina con algo con Java (Regex)
- 4. regex: coincida la palabra que termina con "Id"
- 5. Regex para probar si una cadena termina con un número
- 6. La cadena Regex termina sin funcionar en Javascript
- 7. Cómo escribir una expresión regular para las coincidencias de cadena que comienza con @ o termina con,?
- 8. error Xpath con no() y termina-con()
- 9. Comprobando si la cadena comienza con o termina con otra cadena
- 10. ¿Cómo saber que una cadena comienza/termina con una cadena específica en jQuery?
- 11. RegEx para detectar si una línea no termina en un punto y coma
- 12. regex para que coincida con el límite de palabras que comienza con caracteres especiales
- 13. jQuery ID comienza con
- 14. termina con (sufijo) y contiene búsqueda de cadenas con MATCH en SQLite FTS
- 15. ¿Dónde abort() y termina() "live"?
- 16. Javascript regex en comparación con Perl regex
- 17. Regex para probar si la cadena comienza con http: // o https: //
- 18. ID termina con en Javascript puro
- 19. urlsafe_b64encode siempre termina en '='?:
- 20. ¿Comienza el desarrollo de XUL y XPCOM con XULRunner?
- 21. jquery compruebe si la cadena comienza con 1234
- 22. Entity Framework 4.1 Linq contiene y comienza con
- 23. regex con espacio y letras solamente?
- 24. buscar y reemplazar con ruby regex
- 25. Python regex con look behind y alternativas
- 26. Regex en java y su rendimiento en comparación con indexOf
- 27. programa termina temprano con memcheck valgrind
- 28. IoC y ASP.NET MVC, ¿dónde comienza todo?
- 29. MySQL REGEX utilizando SUBSTRING con longitud conocida?
- 30. Android finaliza la actividad y comienza otra
¿Está tratando de encontrar estas cadenas dentro de un cuerpo de texto más grande? Si es así, ¿se pueden anidar los corchetes? –
Sí, estoy tratando de encontrar las cuerdas en un cuerpo más grande. Pero no estoy esperando los paréntesis anidados. – KBBWrite