[^,] means match anything except commas, ie the ^ at the start of the [] indicates that rather than match any of these characters it ought to not match any of them.

You can't put patterns in the [], it's for defining a list of characters (or a range, as in a-z).

Guy

On 14/01/2009, at 8:10 AM, flexaustin wrote:

So for you last version:
var pattern:RegExp = new RegExp('\"title\":\"([^,\"]+)','i');

How would I say everything but a "," would it be this?
var pattern:RegExp = new RegExp('\"title\":\"([^[\",\"]]+)','i');

J

--- In [email protected], Guy Morton <g...@...> wrote:
>
> ok. i think you could take a simpler approach then, eg
>
> var pattern:RegExp = new RegExp('\"title\":\"([a-zA-Z ]+)','i');
> var str:String = '"title":"houses or houses","count":
> 47,"group":true,"connection":39,';
> trace(str.match(pattern)[1]);
>
> returns
>
> houses or houses
>
> ie, the matched string is '"title":"houses or houses' and the bit that
> matched the parentheses is "houses or houses".
>
> Just add whatever characters are valid for the title into the
> character set [a-zA-Z ]. Or you could let it match everything that's
> not a comma or double-quote buy doing this:
>
> var pattern:RegExp = new RegExp('\"title\":\"([^,\"]+)','i');
> var str:String = '"title":"houses or houses","count":
> 47,"group":true,"connection":39,';
> trace(str.match(pattern)[1]);
>
> also returns
>
> houses or houses
>
> HTH
>
> Guy
>
>
> On 14/01/2009, at 1:55 AM, flexaustin wrote:
>
> > Yeah that works sort of. The issue is that I need to stop before or
> > right after a "," series.
> >
> > So given this string:
> > "title":"houses","count":47,"group":true,"connection":39,
> >
> > I need to stop when I get "title":"houses"," or "title":"houses" or > > "title":"houses or houses. I am trying to extract whatever is given
> > for title, which in this example is houses.
> >
> > Thanks
> >
> > --- In [email protected], Guy Morton <guy@> wrote:
> > >
> > > Is your data actually split over multiple lines? Or is it just
> > > wrapping in the email?
> > >
> > > The problem, I think, is in your second set of parentheses. You
> > search
> > > for "," followed by 0 or more word characters, then a colon. That
> > > pattern does not appear in your search string.
> > >
> > > Also, that .* between your two sets seems a little odd. It will
> > match
> > > everything between your first and second matches. But perhaps that's
> > > what you want.
> > >
> > > This successfully matches your string...maybe it will help you?
> > >
> > > var pattern:RegExp = new RegExp('(\"name\":\").*(\",\"[a-zA-Z]*
> > > \":)','i');
> > >
> > > This matches "name":" and ","id":
> > >
> > > Generally speaking, I find the easiest thing to do with regexps is
> > to
> > > make them smaller and get the smaller ones working first then string
> > > them together.
> > >
> > > regards
> > >
> > > Guy
> > >
> > > On 13/01/2009, at 6:01 PM, flexaustin wrote:
> > >
> > > > pattern = new RegExp('(?<=\"name\":\").*(?=\",\"\w*:)', 'i');
> > > > var resultArr:Array = pattern.exec(data);
> > > >
> > > > resultArr ends up equaling null;
> > > >
> > > > But if you check this: (?<=\"name\":\").*(?=\",\"\w*:) using
> > > > http://gskinner.com/RegExr/ it says it works using this data
> > > >
> > > > "error":32,"count":47,"group":true,"connection":39,"warning":
> > > > 3
> > > > ,"name
> > > > ":"Workstations
> > > > ","title":"Workstations","model":"workstation","ticket":
> > > > 1,"type":"TagCategory","id":1
> > > >
> > > > So why is it not working in my code? If anyone has any
> > suggestions I
> > > > would appreciate it. I have been trying to get this to work for 10
> > > > hours straight.
> > > >
> > > > TIA
> > > >
> > > >
> > > >
> > >
> >
> >
> >
>




Reply via email to