#852 ✓invalid
Alex Lehmann

Regex in routes cannot contain a space

Reported by Alex Lehmann | May 18th, 2011 @ 10:36 PM | in 1.3 (closed)

Please include as much relevant information as possible including the exact framework version you're using and a code snippet that reproduces the problem.

Framework version: 1.2.1+gae
Platform you're using: windows vista

Reproduction steps:

I needed a route rule that matches all strings except when containing a space, this would be the following rule

  • /{action}/{<[^ ]+>name} Application.{action}

this gives an error "PatternSyntaxException: malformed character class"

I tried to use "\ " instead like this:

  • /{action}/{<[^\ ]+>name} Application.{action}

this gives an ArrayIndexOutOfBoundsException

the only way it works is using \x20

  • /{action}/{<[^\x20]+>name} Application.{action}


Comments and changes to this ticket

  • Alex Lehmann

    Alex Lehmann May 21st, 2011 @ 06:06 PM

    I have tracked this down to the code responsible for parsing the routes file at play.mvc.Route.parse(String,String,String) since that uses space at delimiter for the different fields.

    I assume this is not easy to fix, however it would be nice if the documentation mentions that no space is possible inside the regexp and you can use \x20 instead.

  • Alex Lehmann

    Alex Lehmann May 21st, 2011 @ 06:22 PM

    • Tag set to routes
  • Nicolas Leroux

    Nicolas Leroux January 1st, 2013 @ 08:15 PM

    • State changed from “new” to “invalid”
    • Assigned user set to “Nicolas Leroux”
    • Milestone set to 1.3
  • John Smith
  • Steven E.

    Steven E. February 13th, 2019 @ 04:43 AM

    It means there will be no space in the best essays com entire formula. Can you please recheck this at your end. Because I don’t think that is possible. Please let me correct if I am wrong.

  • saba26

    saba26 March 26th, 2019 @ 02:38 PM

    Acoustic Guitar Under 1000

    If you want to produce that deep, rich and versatile acoustic guitar sound, you’re going to need a quality instrument to show off your skills and help build new ones. Whether jamming with a group or accompanying a single vocalist, guitar players know that their strumming is the heart and soul of any melody.

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

<h2>Play framework</h2>

Play makes it easier to build Web applications with Java. It is a clean alternative to bloated Enterprise Java stacks. It focuses on developer productivity and targets RESTful architectures. Learn more on the <a href="http://www.playframework.org">http://www.playframework.org</a> website.<br><br>

<h2>Source code is hosted on github</h2>Check out our repository at <a href="http://github.com/playframework/play">http://github.com/playframework/play</a><br><br>

<h2>Contributing, creating a patch</h2> Please read the <a href="http://play.lighthouseapp.com/projects/57987/contributor-guide">contributor guide</a><br><br>

<h2>Reporting Security Vulnerabilities</h2> Since all bug reports are public, please report any security vulnerability directly to <em>guillaume dot bort at gmail dot com</em>.<br><br>

<h2>Creating a bug report</h2> Bug reports are incredibly helpful, so take time to report bugs and request features in our ticket tracker. We’re always grateful for patches to Play’s code. Indeed, bug reports with attached patches will get fixed far quickly than those without any.<br><br>

Please include as much relevant information as possible including the exact framework version you're using and a code snippet that reproduces the problem.<br><br>

Don't have too much expectations. Unless the bug is really a serious "everything is broken" thing, you're creating a ticket to start a discussion. Having a patch (or a branch on Github we can pull from) is better, but then again we'll only pull high quality branches that make sense to be in the core of Play.


Referenced by